left right right
left_navi_top
Aktionen Aktionen
Itzamná Rating
5
Quellcode Quellcode
Kommentare Kommentare

Emerald V2 Deutsch Englisch RPG Maker XP RPG Maker VX Läuft perfekt SDK ist optional APD ist optional Kein Mex-Code

Autor Autor Evrey
Läuft Läuft Läuft perfekt
0
Noch keine Bewertungen
Your rating: Keines

Inhaltsverzeichnis Inhaltsverzeichnis1. Einleitung
2. Features
3. Wichtiges über die wichtigsten Komponenten4. Regeln für die erfolgreiche Verwendung von EMERALD5. Zukunftspläne6. Muss ich noch etwas wissen, bevor ich damit rumspiele?
7. Schlusswort
8. Installation eines Plugins
9. Ich habe kein 7zip, wie öffne ich dieses #&§%$ Archiv?!

1. Einleitung

Emerald ist ein plattformunabhängiges Plugin-System für Ruby. Es schlankt u.A. den nötigen Code insofern ab, dass keine Schnittstellen (aliasse) mehr nötig sind.

Obwohl es für jede Form von Rubyprogrammen gedacht ist, liegt der Schwerpunkt dennoch bei RGSS(2). Das Plugin-System ist in allen Komponenten austauschbar, Plugins sind unabhängig voneinander.

2. Features

  • Dynamische Pluginverwaltung.
    Plugins werden von EMERALD erkannt, auf Kompatibilität geprüft, ausgeführt, bei Fehlern ausgeworfen,...
  • SDK-/APD-Unterstützung (optional)
  • Erkennung von RGSS-Version, RubyGame, APD, MACL, SDK
  • Log-Funktion.
    Es ist eine maximale Dateigröße der Logs einstellbar. Überschreiten die Log-Dateien von EMERALD und (optional) der APD diese Größe, werden die Logs geleert.
  • Einmalige (individuelle) Schnittstellen-Implementierung über die "Boot Scripte".
  • Updateverhalten der Plugins individuell programmierbar dank frei wähl barer "Cerne".
  • Zentrales Vokabular-Modul für Konstanten, die ggf. andere Plugins nutzen wollen.
  • Selbstschutz von EMERALD gegen Veränderung durch irgendwelche anderen Scripte. (Methoden, Singletons, Including)
  • Hohe Flexibilität der Plugins.
    (Sehr leichter Ein-/Ausbau. "Plug'n'Play" sozusagen.)
  • Auf einem Pentium M bei 6 aktiven Plugins keine Leistungseinbuße erkennbar.

Nichts weltbewegendes, doch eine flexible Arbeitsabnahme für Ruby-Programmierer.

3. Wichtiges über die wichtigsten Komponenten

Hier einmal die wichtigsten Methoden und deren kurze Erklärung, ggf. mit Beispielen.

3.1. EMERALD

Attribute:

  1.   class << self
  2.     attr_reader(:KONST, # (Hash) Geladene Plugin-Konstanten
  3.                 :KLASS, # (Hash) Geladene Plugin-Klassen
  4.                 :MODUL, # (Hash) Geladene Plugin-Module
  5.                 :RGSS1, # (Bool) RPG Maker XP?
  6.                 :RGSS2, # (Bool) RPG Maker VX?
  7.                 :SAPPH, # (Bool) Sapphire? (sollte "false" bleiben)
  8.                 :RGAME, # (Bool) RubyGame?
  9.                 :DEBUG, # (Bool) EMERALD-Debug-Modus (manuell im Script einstellen!)
  10.                 :APD,   # (Bool) APD verwendet und aktiv?
  11.                 :SDK,   # (Bool) SDK verwendet?
  12.                 :MACL)  # (Bool) MACL vorhanden?
  13.   end

Methoden:
  1.   #+---------------------------------------------------+
  2.   #|   Log:                                            |
  3.   #+---------------------------------------------------+
  4.   #|    Loggt verschiedene Nachrichten von Scripten.   |
  5.   #|    logs1(typ,Script,Grund,Info)                   |
  6.   #|    typ:                                           |
  7.   #|     "ERR" := Fehler                               |
  8.   #|     "INF" := Information                          |
  9.   #|     "MSG" := Nachricht                            |
  10.   #|    Gibt die Info zurück.                          |
  11.   #|                                                   |
  12.   #+---------------------------------------------------+
  13.   def self.log1(typ0,arg0,arg1="N/A",arg2="N/A")
  14.  
  15. # Beispiel:
  16. msg = EMY.log1("MSG","MeinPlugin","Langeweile","Hallo, habe das mal getestet.")
  17.  
  18.  
  19.   #+---------------------------------------------------+
  20.   #|   Statusabfrage:                                  |
  21.   #+---------------------------------------------------+
  22.   #|    Gibt einen String zurück, der die Informationen|
  23.   #|    über alle Plugin-Hashes enthält.               |
  24.   #|                                                   |
  25.   #+---------------------------------------------------+
  26.   def self.get_stat()
  27.  
  28.  
  29. # Beispiel:
  30. Kernel.print(EMY.get_stat())
  31.  
  32.  
  33.   #+---------------------------------------------------+
  34.   #|   Komponente vorhanden und aktiv:                 |
  35.   #+---------------------------------------------------+
  36.   #|    Prüft, ob eine geladene Komponente noch in den |
  37.   #|    Plugin-Hashes ist.                             |
  38.   #|                                                   |
  39.   #+---------------------------------------------------+
  40.   def self.plugin_active?(*args)
  41.  
  42. # Beispiel:
  43. if (EMY.plugin_active?("MeinPlug","SeinPlug","DeinPlug"))
  44.  
  45.  
  46.   #+---------------------------------------------------+
  47.   #|   Komponentenstatus:                              |
  48.   #+---------------------------------------------------+
  49.   #|    0 := Unbekannt                                 |
  50.   #|    1 := Geladen und inaktiv                       |
  51.   #|    2 := Geladen und aktiv                         |
  52.   #|    3 := Geladene Konstante                        |
  53.   #|                                                   |
  54.   #+---------------------------------------------------+
  55.   def self.plugin_status?(arg)
  56.  
  57. # Beispiel:
  58. if (EMY.plugin_status?("MEIN_BOOT_RGSS1")==3)

3.2. EMERALD-Cerne

Grundaufbau:

  1. module EMY
  2.   module CRN_Mein_Cern_Name
  3.     VSN = 0.0     # (Float) Version
  4.     AUT = "Ahmed" # (String) Der Autor der Komponente (oder die Autoren)
  5.     EVS = 2.0     # (Float) Minimal vorausgesetzte EMERALD-Version (2.0 reicht i.d.R.)
  6.     CLS = "Yo"    # (String|nil) Exakter Name einer Steuerklasse oder nil (näheres später)
  7.     DAT = "DD.MM.JJJJ" # (String) Datum der letzten Änderung
  8.     class << self; attr_reader(:OBJCT); end # (Hash) Objekte, die aus den Klassen erstellt werden.
  9.     def self.check_comp() # Plugin kann sich hier selbst auf die Umgebung prüfen
  10.       return(bool) # Z.B. return(!EMY.plugin_active?("Doofes_Ding"))
  11.     end
  12.     def self.get_stat()
  13.       return("Info zur Komponente")
  14.     end
  15.     def self.ini0() # Initialisieren/Laden aller Plugins
  16.     end
  17.     def self.ini1(arg) # Initialisieren/Laden je nach Steuerklasse
  18.     end
  19.     def self.upd0() # Aktualisieren aller Plugins ohne Steuerklasse
  20.     end
  21.     def self.upd1(arg) # Aktualisieren aller Plugins anhand der Steuerklasse
  22.     end
  23.     def self.dps0() # Koppelt bei Erlaubnis von EMERALD alle Plugins aus
  24.     end
  25.     def self.dps1(arg) # Ruft den Pseudo-Destructor eines Plugins auf
  26.     end
  27.   end
  28. end

3.3. EMERALD-Vokabular

Wichtige Attribute:

  1. EMY.MODULE["VCB"].game_name # Name des Spiels (Fenstertitel) [RGSS(2)]
  2. EMY.MODULE["VCB"].data_ext # Dateiendung für mit Marshal erstellte Dateien
  3. EMY.MODULE["VCB"].log_dir # Pfad zum EMERALD-Log
  4. EMY.MODULE["VCB"].rgss_vsn # RGSS-Version der eingestellten DLL
  5. EMY.MODULE["VCB"].rgss_rtp # (Bool) Wird ein RTP verwendet? [RGSS(2)]

Empfohlene Erweiterung des Vokabulars für ein willkürliches Plugin "Ahmed":
  1. module EMY
  2.   module VCB
  3.     module Ahmed
  4.       # Konstanten hier rein
  5.     end
  6.   end
  7. end

3.4. Template-Class

Beispiel-Plugin-Klasse (EMY v2.X)

  1. module EMY
  2.   #Eine Klassenvorlage
  3.   class Template_Class
  4.     #Alle Methoden sind optional, jedoch ist es Zwang, über die Konstanten (außer DAT)
  5.     #zu verfügen.
  6.     VSN = 1.0          #Version (Float)
  7.     AUT = "Autor"      #Autor des Scripts (String)
  8.     EVS = 2.0          #Minimal benötigte Emerald-Version (Float)
  9.     CLS = "Scene_Map"  #Steuerklasse (String || NilClass)
  10.     DAT = "DD.MM.JJJJ" #Datum der letzten Änderung (String || NilClass)
  11.     #Prüft auf Kopatibilität, gibt true/false zurück.
  12.     #So kann man z.B. prüfen, ob bestimmte Plugins vorhanden sind, usw.
  13.     def check_comp()
  14.       return(wert)
  15.     end
  16.     #Gibt einen String zurück, der aktuelle Informationen über den Status des
  17.     #Plugins enthält.
  18.     def get_stat()
  19.       return(info)
  20.     end
  21.     #Ein Pseudoconstructor, der die eigentlichen Objekte hinter dem Plugin
  22.     #initialisiert.
  23.     def rebuild()
  24.     end
  25.     #Die Methode, die parallel zur Steuerklasse immer wieder aufgerufen werden soll.
  26.     def update()
  27.     end
  28.     #Pseudodestructor. Hier werden die eigentlichen Objekte hinter dem Plugin
  29.     #wieder zerstört.
  30.     def destruct()
  31.     end
  32.   end
  33. end

3.5. Template-Modul

Beispiel-Plugin-Modul (EMY v2.X)

  1. module EMY
  2.   #Eine Modulvorlage
  3.   class Template_Module
  4.     #Alle Methoden sind optional, jedoch ist es Zwang, über die Konstanten (außer DAT)
  5.     #zu verfügen.
  6.     VSN = 1.0          #Version (Float)
  7.     AUT = "Autor"      #Autor des Scripts (String)
  8.     EVS = 2.0          #Minimal benötigte Emerald-Version (Float)
  9.     CLS = "Scene_Map"  #Steuerklasse (String || NilClass)
  10.     DAT = "DD.MM.JJJJ" #Datum der letzten Änderung (String || NilClass)
  11.     #Prüft auf Kopatibilität, gibt true/false zurück.
  12.     #So kann man z.B. prüfen, ob bestimmte Plugins vorhanden sind, usw.
  13.     def self.check_comp()
  14.       return(wert)
  15.     end
  16.     #Gibt einen String zurück, der aktuelle Informationen über den Status des
  17.     #Plugins enthält.
  18.     def self.get_stat()
  19.       return(info)
  20.     end
  21.     #Gibt einen String zurück, der aktuelle Informationen über den Status des
  22.     #Plugins enthält.
  23.     def self.build()
  24.     end
  25.     #Hauptmethode, wird parallel zur Steuerklasse stehts aktualisiert.
  26.     def self.main()
  27.     end
  28.   end
  29. end

3.6. Boot-Scripte

Die Haupt-Boot-Scripte sind eigentlich nicht nötig, selbst zu schreiben, außer man arbeitet mit etwas anderem, als dem RPG Maker XP/VX. Falls eine Steuerklasse zu wenig für euren Bedarf ist, hier ein Boot-Template. Ein normales Zusatz-Boot-Script braucht nur die Aliasses in einer Klasse (Siehe den darauf folgenden Code-Block).

  1. module EMY
  2.   #  Welches Bootscript ist vorhanden?
  3.   BOOT_NAME_AUTOR = 0b00000001
  4. end
  5.  
  6. if (EMERALD.nil?())
  7.   #  Emerald laden, wenn nicht bereits vorhanden.
  8.   $:.push('.')
  9.   Kernel.require('emerald')
  10.   if (EMERALD.nil?())
  11.     #  Ohne Emerald ist dieses Script sinnlos, also ScriptFehler!
  12.     Kernel.raise(ScriptError,"Emerald konnte nicht gefunden werden!")
  13.   end
  14. end
  15.  
  16. begin
  17.   #  Scripte laden
  18.   EMY.req0()
  19.   #  Umgebung prüfen.
  20.   EMY.ext0()
  21.   #  Emerald initialisieren.
  22.   EMY.ini0()
  23.   #  Emerald::Cern initialisieren.
  24.   EMY.cern_init()
  25. rescue Errno::EEMYRUN
  26.   #  Fehler beim Start ausgeben.
  27.   Kernel.p($!,$!.message())
  28.   #  Fehler beim Start loggen.
  29.   EMY.log0()
  30.   #  Programm abschießen.
  31.   Kernel.exit!(0)
  32. end
  33.  
  34. #===============================================================================
  35. #===   Ab hier kommen aliasse, die die Cern-Methoden des Moduls EMY verwenden.
  36. #===============================================================================

Als Beispiel für Aliasse kopiere ich mal einen Stück Code aus dem RGSS2-Boot:
  1. #...
  2. if (EMY.RGSS2)
  3.   class Scene_Base
  4.     def main()
  5.       start()
  6.       #  Plugins initialisieren
  7.       EMY.cern_init(self.class.name,false,self.class.superclass.name) if (!EMERALD.nil?())
  8.       perform_transition()
  9.       post_start()
  10.       Input.update()
  11.       Kernel.loop() \
  12.       {||
  13.         Graphics.update()
  14.         Input.update()
  15.         update()
  16.         #  Plugins aktualisieren
  17.         EMY.cern_update(self.class.name,self.class.superclass.name) if (!EMERALD.nil?())
  18.         break() if ($scene != self)
  19.       }
  20.       Graphics.update()
  21.       pre_terminate()
  22.       Graphics.freeze()
  23.       #  Plugins destruieren
  24.       EMY.cern_destruct(self.class.name,self.class.superclass.name) if (!EMERALD.nil?())
  25.       terminate()
  26.     end
  27.   end
  28.   #...

4. Regeln für die erfolgreiche Verwendung von EMERALD

4.1. RPG Maker

Theoretisch gesehen ist es egal, wo man die Plugins und die Hauptscripte hin tut, bis auf das Hauptbootscript. Ich habe hier mal einfache Regeln erstellt, wie ich persönlich immer die Scripte sortieren.

  1. Standard-Scripte und andere
  2. SDK, APD, MACL, falls vorhanden
  3. EMERALD
  4. Vokabular
  5. Ein Cern
  6. Nun die Plugins
  7. Bootscripte von anderen
  8. Das Haupt-Boot-Script
  9. Main

4.2. Ruby-Scripte in Ordnern

  1. Nach Starten des Main-Scripts zunächst die nötigen normalen Scripte requiren.
  2. Die Scripte emerald.rb, emvocab.rb, optional auch emcern.rb in den selben Ordner stecken.
  3. Dort zwei Unterordner "emy" und "emb" erstellen.
  4. Alle Plugins in den Ordner "emy" (Auch eigene Cerne).
  5. Alle zusätzlichen Boot-Scripte in den Ordner "emb".
  6. Das Haupt-Boot-Script als ".rb"-Datei neben emerald.rb legen, also im selben Ordner.
  7. Das Haupt-Boot-Script requiren.

4.3. Aufgabe von Boot-Scripten und Cernen

Boot-Scripte sind Ruby-Scripte, ähnlich zum "Main" aus dem RGSS(2). Es erstellt einmalig Aliasse, die die Cernmethoden von EMERALD (z.B. EMY.cern_init(*args)) in bestimmte Klassen des Programms einbinden.
Die Cerne sind besondere Arten von Plugins. Sie werden im Gegensatz zum Rest direkt von EMERALD angesprochen, um sozusagen die Drecksarbeit zu machen. Das heißt im Klartext: Scripte zur richtigen Zeit ausführen, Fehler beheben, ggf. Plugins zur Laufzeit entfernen (Ohne Programmabstürze), usw.
Da jeder Entwickler andere Anforderungen an einen Programmablauf hat, sind die Cerne austauschbar, sodass man sich ggf. selbst welche schreiben kann. Standard sind CRN und CRN_Lite. Sie unterscheiden sich darin, dass CRN_Lite nur ausführt und bei Abstürzen sofort die fehlerhaften Plugins entfernt, der (klobigere) CRN jedoch ein größeres Exceptionhandling hat, das z.B. versucht, Dummy-Dateien zu erstellen und ein Script erneut laufen zu lassen, sollten Dateien fehlen (Errno::ENOENT).

5. Zukunftspläne

  • CRN v3.0
    Noch unnötig komplexeres Exceptionhandling und etwas veränderte Arbeitsweise.
  • CRN_Smart
    Minimalistischer Cern nach veränderter Arbeitsweise.
  • EMY v3.0
    Etwas veränderte Arbeitsweise, richtige Überprüfung der Plugins bei Anfrage auf einen Kick.
  • Mehr Funktionen für APD und SDK statt nur deren Erkennung.
  • DLL-Plugin "TSys"
    Ein etwas anderes Dateiformat mit optionaler Verschlüsselung. (Grundidee vergleichbar mit Marshal. Wer's braucht...^^")
  • Bugfixes, falls welche vorhanden sind, was ich nicht ausschließe.
  • Spezielle Plugins für eine dynamische GUI, Eventsteuerung/-Manipulation, und dem Abspielen von Animationen auf der Map, usw. ... (warten auf Motivationsphasen)

5.1. Bekannte Bugs:

  • Derzeit keine...

5.2. Vermutete Bugs:

  • Kann sein, dass die Standard-Boot-Scripte einen nicht geplanten Error werfen, falls das Script EMERALD nicht vorhanden ist, doch ist der Wurf einer Exception in diesem Fall eh' vorgesehen.

6. Muss ich noch etwas wissen, bevor ich damit rumspiele?

Ja, ich möchte zu einem gerne bei Verwendung irgendwo in den Credits angemerkt werden; als "Evrey".
Außerdem...
Das Schreiben eigener Plugins, Boot-Scripte, sowie Cerne steht euch frei. Tippt nach Lust und Laune. Fertige Plugins & Co. können mir anschließend (falls ihr es wollt) zugesendet werden, zur besseren Verbreitung (Ich würde sie lediglich parallel zu EMERALD als Download reinstellen, ggf. auch eigene Plugins dafür optimieren, um eure besser nutzen zu können, falls nötig).
Das Umschreiben/Editieren von EMERALD und dem Vocabular selbst ist 'ne heiklere Sache. Ich bin kein Fan von inoffiziellen Versionen. Juckt es euch in den Fingern, unbedingt daran zu basteln, so tut es, doch sollte dieses Werk eher für die Masse gedacht sein, schlage ich vor, mit mir zwecks gemeinsamer Entwicklung ein Team zu werden. So können die Ideen eine optimale Kompatibilität zu den Plugins erzielen. Diese Behauptung Stütze ich mal auf die Behauptung, dass ich EMERALD wohl am besten kennen dürfte^^" Angemerkt werden als Autoren natürlich ihr, und ich. Letzteres, da nunmal die Grundtechnik meine Schöpfung ist.

7. Schlusswort

Ich erhoffe mir mal, durch EMERALD vielen Programmierern lauter Aliasse ersparen zu können und zugleich eine höhere Kompatibilität unter den Scripten erzielen zu können.
Nuja...
Viel Spaß damit, würd' ich mal sagen!

8. Installation eines Plugins

Für die ohne Ruby-Kenntnisse die mit dem Maker arbeiten nochmal hier eine Kurzanleitung.

  1. Ladet euch das Plugin als ".rb", ".txt", oder kopiert es euch aus dem Browser oder von sonst wo.
  2. Öffnet die Dateien mit dem Texteditor und kopiert das Script dort raus, falls nicht schon von wo anders rauskopiert.
  3. Erstellt irgendwo zwischen den Boot-Scripten und EMERALD ein neues Script und kopiert dort den Code rein.
  4. Sollte es kein Plugin, sondern ein Zusatz-Boot-Script sein, kopiert den Inhalt direkt über das Haupt-Boot-Script und unter allen Plugins.
  5. Löscht alle Plugins einfach aus der Scriptliste, die euch nicht gefallen, z.B. einen HUD oder das Windoof-Script.

9. Ich habe kein 7zip, wie öffne ich dieses #&§%$ Archiv?!

Geh' auf folgende Seite: THE_LINK! Dort lädst du dir für deine OS-Version 7zip runter. Installiere es, dann entpacke das Archiv mit dem 7zFM (oder so ähnlich heißt es).
WinRAR unterstützt ebenfalls den 7z-Format. Unter Linux kann es zB der GNOME Archive Manager öffnen.
Archive Manager hat ein 7z-Plugin für sowas.

Inhaltsverzeichnis Inhaltsverzeichnis1. Allgemein Allgemein
2. Compatibility Notes Compatibility Notes3. statistics statistics
4. Hilfe Hilfe

1. Allgemein Allgemein

Sprache Sprache Deutsch, Englisch
Maker Maker RPG Maker XP, RPG Maker VX
SDK SDK SDK ist optional
APD APD APD ist optional
Mex Mex Kein Mex-Code
RDoc Documentation RDoc Documentation

2. Compatibility Notes Compatibility Notes

2.1. Used Classes Used Classes

  • EEMYCMP
  • EEMYRUN
  • File
  • Game_System
  • Module
  • Object
  • Scene_Base
  • Scene_Map
  • self

2.2. Used Modules Used Modules

  • CRN
  • CRN_Lite
  • EMY
  • Errno
  • Kernel
  • SDK
  • VCB
  • Windoof

2.3. Used Global Variables Used Global Variables

  • $
  • $!
  • $:
  • $APD_install
  • $DEBUG
  • $fontface
  • $scene

2.4. Aliasses Aliasses

  • EMY.log1("ERR","CERN",$!.message(),"Verantwortlich sind vermutlich aliasse statt alias_method().")
  • EMY.log1("ERR","CERN",$!.message(),"Verantwortlich sind vermutlich aliasse statt alias_method().")
  • EMY.log1("ERR","CERN",$!.message(),"Verantwortlich sind vermutlich aliasse statt alias_method().")
  • EMY.log1("ERR","CERN",$!.message(),"Verantwortlich sind vermutlich aliasse statt alias_method().")
  • alias_method(:emy_cern_file_initialize,:initialize) if (!method_defined?(:emy_cern_file_initialize))
  • alias_method(:emy_module_alias_method,:alias_method) if (!method_defined?(:emy_module_alias_method))
  • def alias_method(sym0,sym1)
  • emy_module_alias_method(sym0,sym1)
  • alias_method(:emy_game_system_initialize,:initialize) if (!method_defined?(:emy_game_system_initialize))
  • alias_method(:emy_game_system_update,:update) if (!method_defined?(:emy_game_system_update))
  • alias_method(:emy_scene_map_main,:main) if (!method_defined?(:emy_scene_map_main))
  • alias_method(:emy_scene_map_update,:update) if (!method_defined?(:emy_scene_map_update))
  • alias_method(:emy_game_system_initialize,:initialize) if (!method_defined?(:emy_game_system_initialize))
  • alias_method(:emy_game_system_update,:update) if (!method_defined?(:emy_game_system_update))
  • alias_method(:windoof_evrey_scene_map_update,:update) if (!method_defined?(:windoof_evrey_scene_map_update))

3. statistics statistics

Files Files 9
Classes Classes 11
Modules Modules 17
Methods Methods 65
Elapsed Elapsed 7.7s
Erstellt Erstellt 26.11.2009
Aktualisiert Aktualisiert 27.11.2009
Counter Counter

4. Hilfe Hilfe

Was ist ein Maker? Was ist ein Maker?
Was ist RGSS? Was ist RGSS?
Inhaltsverzeichnis Inhaltsverzeichnis1. Installation Installation
2. Quellcode Quellcode3. Benötigte Dateien Benötigte Dateien

1. Installation Installation

  1. Öffne dein Projekt mit dem Maker. Danach öffne mit F11 den RGSS Editor, scrolle links die Liste bis zum Schluss. Klicke dann rechts auf 'Main' und dann 'Insert'. Nenne das neue Skript Emerald V2 und füge auf der rechten Seite ein: Quellcode Weiterlesen Weiterlesen
  2. Kopiere die benötigten Dateien in dein Projekt.
  3. Was enthält der Ordner, den ich da jetzt gleich lade genau?

    • ./emerald.rb => Hauptscript
    • ./emvocab.rb => Vocabular-Plugin
    • ./emcern.rb => Standard-Cern "CRN"
    • ./bweboot.rb => Boot-Script ohne Schnittstellen
    • ./rgss1boot.rb => Boot-Script für den RPG Maker XP, mit oder ohne SDK
    • ./rgss2boot.rb => Boot-Script für den RPG Maker VX
    • ./emy/cernlite.rb => Abgeschlankter "CRN"
    • ./emy/windoof.rb => Ein Scherzplugin, das seine Macht nur unter dem OS Windows entfaltet. Eher zu Demozwecken *hust*
    • Außerdem diverse Templates im Nachbarordner.
    • Ein Netbeans-Projekt-Ordner
Probleme? Frag doch im Forum nach! Probleme? Frag doch im Forum nach!

2. Quellcode Quellcode

2.1. emerald emerald

Anzeigen Anzeigen
emerald.rb emerald.rb (18.64 KB)
Monsters Script Explorer Monsters Script Explorer

2.2. emvocab emvocab

Anzeigen Anzeigen
emvocab.rb emvocab.rb (4.49 KB)
Monsters Script Explorer Monsters Script Explorer

2.3. emcern emcern

Anzeigen Anzeigen
emcern.rb emcern.rb (14.51 KB)
Monsters Script Explorer Monsters Script Explorer

2.4. bweboot bweboot

Anzeigen Anzeigen
bweboot.rb bweboot.rb (835 Bytes)
Monsters Script Explorer Monsters Script Explorer

2.5. rgss1boot rgss1boot

Anzeigen Anzeigen
rgss1boot.rb rgss1boot.rb (2.99 KB)
Monsters Script Explorer Monsters Script Explorer

2.6. rgss2boot rgss2boot

Anzeigen Anzeigen
rgss2boot.rb rgss2boot.rb (2.18 KB)
Monsters Script Explorer Monsters Script Explorer

2.7. cernlite cernlite

Anzeigen Anzeigen
cernlite.rb cernlite.rb (8.86 KB)
Monsters Script Explorer Monsters Script Explorer

2.8. windoof windoof

Anzeigen Anzeigen
windoof.rb windoof.rb (6.59 KB)
Monsters Script Explorer Monsters Script Explorer

3. Benötigte Dateien Benötigte Dateien

EMERALD2-Projektordner.7z EMERALD2-Projektordner.7z (11.45 KB)
Permalink Permalink
XML XML
Forumlink Forumlink
HTMLlink HTMLlink
Forumthema Forumthema


bottom bottom bottom