uhm die .dll braucht man. Da du aber das RTP installiert hast, ladet der Maker diese automatisch aus dem Makerverzeichnis. Die .dll liegt zwar dem Maker selbst bei, wird aber benötigt um den RGSS Player zum laufen zu bringen. Ohne die .dll wirds also nich funktionieren. Das Problem gab es schon oft genug.
Das mit dem Nutzen meinte ich eher so: Man macht das Game und merkt man hat eigentlich nichts ausm RTP genutzt, also kann man das so raus nehmen. Gesagt getan, jedoch hat man mal übersehen, dass man nun doch ne Grafik von dort genommen hat und da diese Grafik noch weiterhin vom Maker verwendet werden würde, schreit der Automatisch danach, dass diese fehlt und stürzt ab, wenn man nicht das Script von Woratana drin hat. So war das gemeint. Da ich nicht weiß wie viel er schon gemacht hat oder so, empfehle ich diese Methode nicht.
@Flip
Ok das der sich obwohl kein Pfad zum RTP gegeben ist trotzdem die DLL vom Rechner holt wusste ich nicht.
Da ich den Maker habe kann ich also nicht feststellen ob es sich so verhält.
Kann ich nicht einfach die 3 DLL Dateien aus dem RTP Ordner direkt in mein Projektordner kopieren? Wenn ja, wo genau hin am besten?
[Game]
RTP=RPGVX
Library=RGSS202E.dll !!!Muss ich hier dann noch den Pfad ändern wenn ich in der Zeile hierdrüber den RTP bezug gelöscht habe? Denn bei mir gings wie gesagt trotzdem zu spielen
Scripts=Data\Scripts.rvdata
Title=CID
Was ist eigentlich eine DLL? Was macht die?
Wäre nett wenn du mir /uns das erklärst , man lernt ja nie aus.
das zuweisen der Held HP in einer Variable nicht funktioniert
...
Wie meinst du das?
Zitat
Haben sich die anderen Probleme nun erledigt? Oder funktioniert dort etwas noch nicht?
...
Jo, s meiste hat sich erledigt, danke der Nachfrage. n paar Kleinigkeiten hät ich grad noch:
- Viele VX-Script, die man zB im rpg-studio findet sind .rb-Dateien. Mit welchem Programm kann ich die öffnen?
- Ich hab ein Script benutzt, um die HP- und MP-Balken oben links im Screen anzuzeigen. Ich musste das Script allerdings wieder rausnehmen, da die Anzeigen im Menü buggen und das Fade-Out des Bildschirms bei Kampfbeginn komplett ausbleibt. Ist jetz halb so wild, aber vllt weiß ja jemand woran das liegt. Hatte bisher nämlich noch nicht die Zeit mich mit der Sprache auseinanderzusetzen und bin dementsprechend planlos.
EDIT:
Zitat
Was ist eigentlich eine DLL? Was macht die?
Wäre nett wenn du mir /uns das erklärst , man lernt ja nie aus.
...
.dll ist die Abkürzung für Dynamic Link Library. Das sind Programmbibliotheken, die bestimmte Codes enthalten. Wird auf Wikipedia relativ verständlich erklärt: http://de.wikipedia.org/wiki/Dynamic_Link_Library
.rb Dateien kannst du normal mit dem Text-Editor öffnen
Wenn du Scripts für VX willst dann guck lieber hier, hier oder hier nach. Die Scripts bei RPG Studio sind teilweise schon stark veraltete Versionen oder häufig nicht mal wirklich vollständig (so meine Erfahrung).
Flippy: Danke für die Seiten. ^^ Hab schon das halbe Internet durchforstet nach brauchbaren und funktionierenden Skripten. Speicher ich mir gleich ma als Lesezeichen ein.
Zitat Flips PN:
.dll Datei
Die .dll Datei findest im Systemordner vom Maker, die wird auch bei der Makerinstallation beim Maker selbst und nicht beim RTP Beigelegt.
Das include RTP greift lediglich auf die Game.ini zu und liest aus welche .dll er braucht. Diese ladet er dann selbst aus dem Ordner und fügt sie dem Ordner hinzu.
Meist besitzt man eh nur eine .dll (rgss202E.dll) und diese befindet sich im Programmordner vom Maker. guck einfach bei Programme -> Enterbrain -> RPG Maker VX
dort ist die .dll eh schon enthalten.
Eine .dll enthält wichtige Funktionen welche für ein Programm notwendig sind, so enthält die rgss202E.dll die komplette Library von der RGSS Console, damit die Scripts auch
wirklich arbeiten. Fehlt die .dll kommt es zu folgendem Fehler:
RGSS Player abgestürzt
Und das Spiel lässt sich nicht starten.
lg flipy
Ok kannst du mir noch beantworten ob es dann reicht die DLL einfach mit in den Projektordner zu kopieren?
Denn wenn ich den Bezug aufs RTP lösche und derjenige den Maker nicht hat, so Stürzt das Spiel ab wenn ich euch richtig verstehe und ich auf meine Weise den bezug zum RTP. Würde mich auf beantwortung der Frage und über eine Erklärung freuen.
rausnehme.
@TwoFace: Benenne deine neue Fade-Grafik einfach in BattleStart und füg sie über den Ressourcen-Import in den System Ordner.
@Bex: Wie schon gesagt: Ja es reicht.
Das RTP sind nur Grafiken, die .dll enthält nur die auskompilierten Scriptfunktionen vom RGSS-Player, welcher zum nutzen der Scripts benötigt wird.
Jedoch wird, wie schon erwähnt, bei Include RTP auch die .dll hinzugefügt, da man davon ausgeht, dass die Person, die diese Version erhält, diese .dll auch nicht besitzt, aber die Datei wichtig ist und das Spiel sonst nicht funktioniert.
Bei den Map Properties kann ich doch die Encounter einstellen. Ich will den Troop von einer Variable abhängig machen. Warum? Ich will ein Tagsystem benutzen und je höher die Variable "Tag" ist, desto stärker sollen die Gegner sein, die auftreten. Jemand ne Idee wie ich das realisiert krieg?
Die Methode die dafür zuständig ist findest du in Zeile 214 von der Klasse "Game_Player", die Methode sieht wie folgt aus:
#--------------------------------------------------------------------------
# * Create Group ID for Troop Encountered
#--------------------------------------------------------------------------
def make_encounter_troop_id
encounter_list = $game_map.encounter_list.clone
for area in $data_areas.values
encounter_list += area.encounter_list if in_area?(area)
end
if encounter_list.empty?
make_encounter_count
return 0
end
return encounter_list[rand(encounter_list.size)]
end
Die Variable "encounter_list" ist eine Liste mit ganzen Zahlen. Die Zahlen repräsentieren die ID der Gegnertruppe, so wie du sie in der Datenbank gesetzt hast.
Du kannst diese Methode umschreiben, um deine Variable zu berücksichtigen.
Eine einfache Variante wäre es, die ID einfach grundsätzlich um 0, 1, 2, oder 3 zu erhöhen, je nach Tageszeit, um somit stärkere Gegnertruppen zu erlauben.
Also als Beispiel würdest du die Gegnertruppen in der Datenbank wie folgt anordnen:
Gegnertruppe ID 1: Leichte Monster A
Gegnertruppe ID 2: Mittlere Monster A
Gegnertruppe ID 3: Schwere Monster A
Gegnertruppe ID 4: Sehr schwere Monster A
Gegnertruppe ID 5: Leichte Monster B
Gegnertruppe ID 6: Mittlere Monster B
Gegnertruppe ID 7: Schwere Monster B
Gegnertruppe ID 8: Sehr schwere Monster B
Dann kannst du die oben gezeigte Methode wie folgt verändern:
#--------------------------------------------------------------------------
# * Create Group ID for Troop Encountered
# <Edited by Cornix>
#--------------------------------------------------------------------------
def make_encounter_troop_id
encounter_list = $game_map.encounter_list.clone
for area in $data_areas.values
encounter_list += area.encounter_list if in_area?(area)
end
if encounter_list.empty?
make_encounter_count
return 0
end
id = encounter_list[rand(encounter_list.size)]
return id + $daytime_encounter_modification
end
Wobei $daytime_encounter_modification eine globale Variable ist, welche eine ganze Zahl darstellt. Der Wertebereich wäre [0, 3].
ah und "$daytime_encounter_modification" ist dann die gleichnamige Variable, die ich anlege und einen bestimmten Wert annehmen lasse, oder? ergo: Wenn ich die Variable auf 3 setze, dann erhalte ich als Gegner die Gruppe mit der ID 3, hab ich das soweit alles richtig verstanden?
$daytime_encounter_modification ist eine globale Variable, welche du einfach irgendwo setzen kannst. Zum Beispiel in einem Event mit dem Custom-Script
$daytime_encounter_modification = 2
Dadurch würden die Troop-ID's von allen Gegnern die du antreffen kannst um 2 erhöht werden.
Wenn du also auf deiner Karte die Gegner-ID's 1, 5, 9 und 13 einstellst dann würdest du nun auf die Monstertruppen 3, 7, 11 und 15 stoßen können.
Für das was du machen willst gibt es sehr sehr viele Möglichkeiten. Ich finde aber, dass dies hier die "einfachste" ist. Quick & Dirty.