Seite 41 von 71 ErsteErste ... 3137383940414243444551 ... LetzteLetzte
Ergebnis 801 bis 820 von 1418

Thema: Technik-Sammelthread für Probleme und Antworten

  1. #801
    Du kannst derweil diese IPS installieren und später problemlos DynRPG drüber.

    @1.09: Ja, zu beachten ist dass dann 95% der Patches nicht funktionieren.

  2. #802
    Hallo,

    habe eben den Patch auf das Demoprojekt draufgespielt. Leider scheint der Skillwiederholungs-Bug nicht behoben worden zu sein.
    Wenn ich einen Skill (Skill und Skill Subset) einsetze, wird er in jeder darauffolgenden Runde nach dem Link to Event Befehl wiederholt,
    egal ob ich in das Skillmenü gehe oder nicht. Es ist auch egal ob ich in das Item Menü gehe oder sogar eins dazwischen benutze.
    Der Skill wird immer wiederholt. Der Skill wird sogar auf mich selbst gecastet wenn ich ein Item auf mich benutze, schätze weil ich mich als Ziel festlege.

    Der Absturz ist aber weg und mit den used Items/Item Menü gibt es auch keine Probleme. Da wird nichts wiederholt.

  3. #803
    Tippfehler. Ich bin manchmal echt zu dämlich.

    http://share.cherrytree.at/showfile-...ventbugfix.ips
    Einfach nochmal patchen.

    Wegen 1.09: Ja, wenn ich nochmal ganz von vorn anfangen könnte, würd ich auch meine ganzen Sachen auf 1.09 aufbauen. Allerdings kannte ich am Anfang überhaupt keine Versionen sondern nahm halt "die 2k3-EXE", welche die hier am meisten verbreitete 1.08 war. Und mein ganzes Wissen und meine Datenbank haben halt seither darauf aufgebaut.

    Geändert von Cherry (29.07.2012 um 17:42 Uhr)

  4. #804
    Ich wollte mal in die Runde fragen.

    Wie ihr ein Aschenregen mit Kisel und Broken und eben den Dicken Schwarzen wolken so erstellen würdet?

  5. #805
    Zitat Zitat von Cherry Beitrag anzeigen
    Tippfehler. Ich bin manchmal echt zu dämlich.
    Kann ja mal passieren ^^

    Zitat Zitat von Cherry Beitrag anzeigen
    Ehm... irgendwie hat sich nichts geändert. Habe mehrmals gepatcht. Der Bug bleibt aber weiterhin. Ein neues Projekt muss ich nicht anfangen oder?

    Zitat Zitat von Cherry Beitrag anzeigen
    Wegen 1.09: Ja, wenn ich nochmal ganz von vorn anfangen könnte, würd ich auch meine ganzen Sachen auf 1.09 aufbauen. Allerdings kannte ich am Anfang überhaupt keine Versionen sondern nahm halt "die 2k3-EXE", welche die hier am meisten verbreitete 1.08 war. Und mein ganzes Wissen und meine Datenbank haben halt seither darauf aufgebaut.
    Achso. Könntest du die Fixes von 1.09 nicht einfach mit in DynRPG einbauen oder hast du das schon, erachtest du sie nicht für so wichtig oder gibt es andere Gründe?

  6. #806

    Hier wird nicht geterrort
    stars5
    Zitat Zitat von Sen-Soht Beitrag anzeigen
    Ich wollte mal in die Runde fragen.

    Wie ihr ein Aschenregen mit Kisel und Broken und eben den Dicken Schwarzen wolken so erstellen würdet?
    Wohl über mehrere Pictures in einem Parallelen Prozess, ähnlich wie einen normalen Schnee oder Regen-Effekt.

  7. #807
    @Chili: Toll, jetzt auch noch die falsche URL kopiert... @_@
    http://share.cherrytree.at/showfile-...ventbugfix.ips
    Jetzt aber.

  8. #808
    Ich wollte mal wissen ob mir wer bei meinen Problem helfen kann.
    Und zwar kann ich seit einiger Zeit keine Spiele mehr spielen die mit dem RPG-Maker 2000 und 2003 erstellt worden. Immer wenn ich Sie versuche zu starten wird der Bildschirm schwarz und der PC friert ein. Zudem bekomme ich auch keine Fehlermeldung. Dieses Problem tritt übrigens nur bei Spielen die mit dem RPG-Maker 2000 und 2003 erstellt wurden auf und Spiele die mit dem RPG-Maker XP und VX erstellt wurden funktionieren einwandfrei.
    Das RTP hab ich instaliert und ich hab auch schon versucht die Spiele als Administrator auszuführen.

  9. #809
    Auch, wenn du das Spiel im Fenstermodus startest?

  10. #810
    Hast du es mal mit dem Kompatiblitätsmodus versucht?

    LG

  11. #811
    @Cherry
    Wie startet man die Spiele denn im Fenstermodus?

    @MajinSonic
    Schon probiert geht aber trotzdem nicht.

  12. #812
    Am einfachsten: Spiel direkt im Maker öffnen und dort Vollbildmodus abschalten vor dem Testplay.
    Am direktesten: Mit den Kommandozeilenparametern "TestPlay ShowTitle Window" starten. Z.B. eine Verknüpfung zur RPG_RT.exe erstellen, Eigenschaften der Verknüpfung öffnen und bei "Ziel" ganz am Ende noch die Parameter (ohne Anführungszeichen) anfügen.

  13. #813
    gibt es einen 100 pic patch für den rm2k?
    ich hab versucht den destiny patcher zu finden aber irgendwie sind alle links down

  14. #814
    9999 Pics im 2k gibts mit Hyper Patcher 2: http://cherrytree.at/download/?did=10

  15. #815
    Hai!

    Ich bräuchte Hilfe bei einem Skript.
    Folgende Situation:
    Ich habe in der Spielwelt verschiedene Arten von Pflanzen, die der Spieler aufsammeln kann, diese sollen je nach Art zu einer bestimmten Zeit respawnen.
    Der Timer wird durch eine Variabel Uhr gesteuert. Nachdem eine Pflanze aufgesammelt wurde, darf sie natürlich nicht wieder sammelbar sein bis der
    Befehl vom respawntimer kommt.

    Mein Problem: Gibt es eine Möglichkeit obiges zu erzielen, ohne für jede einzelne Pflanze einen Switch zu setzen, um sie bis zum respawnen der Pflanzenart "auszuschalten"?
    Irgendwie komme ich auf keinen grünen Zweig.

    Bin auch für alternative Ideen und Vorschläge offen^^

    Danke!

  16. #816
    Dieser Code geht davon aus dass 5000 die höchste verwendete Variablen-ID ist. Solltest du höhere Variablen verwenden, musst du die Zahl "5000" im Code entsprechend ändern.
    Für die anderen Variablen habe ich keine ID angegeben, da kannst du beliebige nehmen.

    Es wird ein assoziatives Array implementiert, in Variablen NACH DEM ENDE DER DEFINIERTEN, also wenn z.B. 5000 die höchste eingestellte Variable ist, werden Variablen ab #5001 verwendet. Diese erscheinen NICHT im F9-Menü!

    Es werden Daten in je 2 Variablen gespeichert, einmal ein Schlüssel, einmal ein Wert. Das Ende der Liste wird durch Schlüssel 0 signalisiert.

    Dieses Skript kodiert Map ID und Event ID in einem Schlüssel. In dem assoziativen Array speichert jedes Pflanzenevent den Zeitpunkt an dem es respawnt wird, oder 0 wenn es gerade sichtbar und aktiv ist. Es gibt ein Common Event was den Timer verwaltet und bei Bedarf Events respawnt oder beim Mapwechsel erneut deaktiviert, je nach Bedarf.

    Auf diese Weise kann man Pflanzen einfach kopieren. Pflanzen haben 3 Eventseiten, Eventseite 1 dient dazu, eine Pflanze zu respawnen, während Eventseite 2 sie deaktiviert. Dies passiert nach außen rein über die Eventgrafik (leer = deaktiviert). Eventseite 3 ist die, die beim Enterdruck ausgeführt wird. Da wird u.a. die Respawnzeit der Pflanze festgelegt sowie was genau passieren soll wenn man eine aktive Pflanze anspricht.

    Das Skript geht von maximal 1000 Events auf einer Map aus, obwohl der Maker afaik 9999 erlaubt, sowie maximal 9999 Maps (ich gehe davon aus du verwendest den 2k3, sonst wären es 999 Maps). Solltest du tatsächlich mehr verwenden, musst du die Zahl "1000" im Code ändern, allerdings je mehr Events du erlaubst, desto weniger Maps sind möglich. 1000 sollte also normalerweise gut passen.

    WARNUNG: Das ganze entstand gerade hier aus meinem Kopf. Ich habe es nicht getestet!

    Common Event "GetAssocValue":
    <> Comment: Dieses CE dient dazu, einen Wert anhand eines Schlüssels aus unserem assoziativen Array zu lesen.
    <> Comment: Skript erwartet Schlüssel in Variable [AKey] und liefert Ergebnis in Variable [AValue] oder 0 wenn Schlüssel nicht vorhanden
    <> Comment: Alle Elemente des assoziativen Arrays werden abgeklappert.
    <> Change Variable [AIndexCounter] = 5000
    <> Comment: Standardwert ist 0.
    <> Change Variable [AValue] = 0
    <> Label: 1
    <> Change Variable [AIndexCounter] += 1
    <> Change Variable [ATempKey] = V[V[AIndexCounter]]
    <> Comment: Ist der Schlüssel 0, wäre das Ende der Liste erreicht.
    <> Fork Condition: If V[ATempKey] != 0
    ....<> Change Variable [AIndexCounter] += 1
    ....<> Fork Condition: If V[ATempKey] != V[AKey]
    ........<> Comment: Weitersuchen
    ........<> Go To Label: 1
    ........<>
    ....: Else Case
    ........<> Comment: Schlüssel gefunden, Wert einlesen
    ........<> Change Variable [AValue] = V[V[AIndexCounter]]
    ........<>
    ....: End Case
    ....<>
    : End Case

    Common Event "SetAssocValue":
    <> Comment: Dieses CE dient dazu, einen Wert anhand eines Schlüssels in unserem assoziativen Array zu speichern.
    <> Comment: Skript erwartet Schlüssel in Variable [AKey] und Wert in Variable [AValue]
    <> Comment: Alle Elemente des assoziativen Arrays werden abgeklappert.
    <> Change Variable [AIndexCounter] = 5000
    <> Label: 1
    <> Change Variable [AIndexCounter] += 1
    <> Change Variable [ATempKey] = V[V[AIndexCounter]]
    <> Comment: Wenn der Schlüssel nicht 0 ist, ist der Slot schon belegt.
    <> Fork Condition: If V[ATempKey] != 0
    ....<> Comment: In diesem Fall stellen wir sicher, dass wir den gesuchten Schlüssel gefunden haben.
    ....<> Fork Condition: If V[ATempKey] != V[AKey]
    ........<> Comment: Weitersuchen
    ........<> Change Variable [AIndexCounter] += 1
    ........<> Go To Label: 1
    ........<>
    ....: End Case
    ....<>
    : Else Case
    ....<> Comment: Der Schlüssel ist 0, d.h. der Slot ist frei (Ende der Liste erreicht), wir legen hier also den neuen Schlüssel fest.
    ....<> Change Variable [V[AIndexCounter]] = V[AKey]
    ....<>
    : End Case
    <> Comment: Wert wird gesetzt.
    <> Change Variable [AIndexCounter] += 1
    <> Change Variable [V[AIndexCounter]] = V[AValue]

    Pflanzenevent Seite 1 (keine Startbedingungen, On Key Press):
    <> Comment: Diese Eventseite wird gecallt wenn das Event respawnt wird
    <> Move Event: This Event => Change Event Graphic (Die Grafik die die Pflanze im Normalfall haben soll)

    Pflanzenevent Seite 2 (keine Startbedingungen, On Key Press):
    <> Comment: Diese Eventseite wird gecallt wenn das Event deaktiviert wird
    <> Move Event: This Event => Change Event Graphic (Leeres Tile im Upper Layer oben links)

    Pflanzenevent Seite 3 (keine Startbedingungen, On Key Press):
    <> Comment: Diese Eventseite wird im Normalfall gecallt (wenn der Spieler das Event anspricht)
    <> Comment: Hier wird der Schlüssel zusammengebaut. Er besteht aus Map ID * 1000 + Event ID, also z.B. 34009 für Map 34, Event 9
    <> Change Variable [AKey] = Map ID of This Event
    <> Change Variable [AKey] *= 1000
    <> Change Variable [X] = X of This Event
    <> Change Variable [Y] = Y of This Event
    <> Get Event ID (V[X], V[Y]) => [EventID]
    <> Change Variable [AKey] += V[EventID]
    <> Comment: Der aktuell gespeicherte Wert für dieses Event wird aus dem assoziativen Array gelesen. Ist er 0, heißt das, das Event ist aktiv!
    <> Call Common Event: GetAssocValue
    <> Fork Condition: If V[AValue] == 0
    ....<> *********************************** HIER CODE EINFÜGEN DER BEIM ANSPRECHEN DES AKTIVEN (!) EVENTS PASSIEREN SOLL, z.B. "Du hast die Pflanze gepflückt" o.ä.
    ....<> Comment: Das Event wird jetzt deaktiviert.
    ....<> Change Variable [PageID] = 2
    ....<> Call Map Event: ID V[EventID], Page V[PageID]
    ....<> Change Variable [AValue] = V[GlobalTimer]
    ....<> Comment: ***** HIER DIE DAUER IN SEKUNDEN EINSTELLEN DIE DAS EVENT ZUM RESPAWNEN BRAUCHT! *****
    ....<> Change Variable [AValue] += 300
    ....<> Comment: Der Zeitpunkt, zu der das Event respawnt werden soll, wird im assoziativen Array gespeichert.
    ....<> Call Common Event: SetAssocValue
    ....<>
    : End Case

    Parallel Process Common Event: "TimerUpdate"
    <> Comment: Dieses Common Event updatet den Timer und sorgt dafür dass deaktivierte Events beim Mapwechsel automatisch wieder deaktiviert werden.
    <> Label: 1
    <> Change Variable [TMapID] = Map ID of Hero
    <> Comment: In FrameCounter wird die Anzahl Frames seit der letzten Sekundenzählung gespeichert. Eine Sekunde hat 60 Frames.
    <> Comment: GlobalTimer enthält die Anzahl Sekunden seit Beginn des Spiels. Ist FrameCounter 0, gilt eine Sekunde als abgelaufen und GlobalTimer erhöht.
    <> Comment: Zu Beginn des Spiels ist FrameCounter 0, GlobalTimer wird also sofort um 1 erhöht, dadurch ist es nie 0 (was wir ja als "Event aktiv" verwenden).
    <> Fork Condition: If V[FrameCounter] == 0
    ....<> Change Variable [GlobalTimer] += 1
    ....<> Comment: Alle Elemente des assoziativen Arrays werden abgeklappert.
    ....<> Change Variable [TIndexCounter] = 5000
    ....<> Label: 2
    ....<> Change Variable [TIndexCounter] += 1
    ....<> Change Variable [TTempKey] = V[V[TIndexCounter]]
    ....<> Comment: Ist der Schlüssel 0, wäre das Ende der Liste erreicht.
    ....<> Fork Condition: If V[TTempKey] != 0
    ........<> Change Variable [TIndexCounter] += 1
    ........<> Change Variable [TTempMapID] = V[TTempKey]
    ........<> Change Variable [TTempMapID] /= 1000
    ........<> Comment: Nur Events auf der aktuellen Map werden berücksichtigt.
    ........<> Fork Condition: If V[TTempMapID] == V[TMapID]
    ............<> Change Variable [TTempValue] = V[V[TIndexCounter]]
    ............<> Comment: Ist das Event bereits aktiv, weitersuchen
    ............<> Fork Condition: If V[TTempValue] == 0
    ................<> Go To Label: 2
    ................<>
    ............: End Case
    ............<> Comment: Ist der Respawnzeitpunkt erreicht oder überschritten, wird das Event respawnt.
    ............<> Fork Condition: If V[TTempValue] < V[GlobalTimer]
    ................<> Comment: Wert wird auf 0 für "Event aktiv" gesetzt und Eventseite 1 aufgerufen (wo die Grafik auf Normalgrafik geändert wird).
    ................<> Change Variable V[V[TIndexCounter]] = 0
    ................<> Change Variable [TTempKey] Mod= 1000
    ................<> Change Variable [TPageID] = 1
    ................<> Call Map Event: ID V[TTempKey], Page V[TPageID]
    ................<>
    ............: End Case
    ............<>
    ........: End Case
    ........<> Go To Label: 2
    ........<>
    ....: End Case
    ....<>
    : End Case
    <> Comment: Wenn die Map gewechselt wurde, werden alle Events auf der neuen Map bei Bedarf deaktiviert, wenn sie nicht aktiv sein sollen
    <> Fork Condition: If V[TMapID] != V[TLastMapID]
    ....<> Change Variable [TLastMapID] = V[TMapID]
    ....<> Comment: Alle Elemente des assoziativen Arrays werden abgeklappert.
    ....<> Change Variable [TIndexCounter] = 5000
    ....<> Label: 3
    ....<> Change Variable [TIndexCounter] += 1
    ....<> Change Variable [TTempKey] = V[V[TIndexCounter]]
    ....<> Comment: Ist der Schlüssel 0, wäre das Ende der Liste erreicht.
    ....<> Fork Condition: If V[TTempKey] != 0
    ........<> Change Variable [TIndexCounter] += 1
    ........<> Change Variable [TTempMapID] = V[TTempKey]
    ........<> Change Variable [TTempMapID] /= 1000
    ........<> Comment: Nur Events auf der aktuellen Map werden berücksichtigt.
    ........<> Fork Condition: If V[TTempMapID] == V[TMapID]
    ............<> Change Variable [TTempValue] = V[V[TIndexCounter]]
    ............<> Comment: Nur deaktivierte Events werden berücksichtigt.
    ............<> Fork Condition: If V[TTempValue] != 0
    ................<> Comment. Eventseite 2 wird aufgerufen damit das Event unsichtbar (und durchgängig) wird.
    ................<> Change Variable [TTempKey] Mod= 1000
    ................<> Change Variable [TPageID] = 2
    ................<> Call Map Event: ID V[TTempKey], Page V[TPageID]
    ................<>
    ............: End Case
    ............<>
    ........: End Case
    ........<> Go To Label: 3
    ........<>
    ....: End Case
    ....<>
    : End Case
    <> Comment: Eigentlich ist am Ende eines PP automatisch ein 1-Frame-Wait, aber um auf Nummer sicher zu gehen, machen wir das Wait selber und verwenden Label 1 als Loop.
    <> Wait 0.0s
    <> Comment: FrameCounter wird erhöht und wenn er 60 wäre, auf 0 gesetzt.
    <> Change Variable: [FrameCounter] += 1
    <> Change Variable: [FrameCounter] Mod= 60
    <> Go To Label: 1

    Geändert von Cherry (14.08.2012 um 16:41 Uhr)

  17. #817
    Wow, danke für die Mühe!

    Habe das Skript so umgesetzt, aber das Spiel stürzt ab sobald ich es starte mit der Meldung: "Eventscript referenced an event that does not exist."
    Das bezieht sich auf den ersten Call Map Event Befehl im Update Timer CE: ................<> Call Map Event: ID V[TTempKey], Page V[TPageID]
    Wenn der weg ist, stürzt das Spiel zwar nicht ab, aber es stockt für einige Sekunden, danach gehts kurz weiter, aber dann wieder Pause.

    Was genau muss ich eigentlich bei: ....<> Comment: ***** HIER DIE DAUER IN SEKUNDEN EINSTELLEN DIE DAS EVENT ZUM RESPAWNEN BRAUCHT! *****
    eingeben? Eine fork condition, die die GlobalTimer Variable abfragt?

  18. #818
    Zuerst hab ich noch einen kleinen Fehler gefunden (bzw. das macht es halt suboptimal):
    Vor der Zeile "<> Comment: Ist der Respawnzeitpunkt erreicht oder überschritten, wird das Event respawnt." muss folgendes eingefügt werden:

    ............<> Comment: Ist das Event bereits aktiv, weitersuchen
    ............<> Fork Condition: If V[TTempValue] == 0
    ................<> Go To Label: 2
    ................<>
    ............: End Case

    Zu deinem ersten Problem: Ich vermute mal, du hast irgendwas falsch nachgebaut. Ich verwende hier C-Notation für Forks, d.h. "==" heißt equal, "!=" heißt not equal. Es schaut für mich aus als wenn du bei "<> Fork Condition: If V[TTempKey] != 0" statt "not equal" "equal" eingestellt hättest... Außerdem stelle sicher, dass V[...] und V[V[...]] richtig eingestellt ist (das erste ist "Variable", das zweite "Variable No.").

    Zu deiner zweiten Frage: Das bezieht sich auf die Zeile drunter, "<> Change Variable [AValue] += 300". Ich hab da im Moment 300 eingestellt, das wären 5 Minuten.

  19. #819
    Dass "!=" not equal heißt wusste ich in der Tat nicht. Jetzt ruckelt und stürzt auch nichts ab. Aber das Respawnen scheint nicht zu funktionieren bzw. wenn die Map verlassen wird und dann gleich wieder betreten wird ist die Pflanze wieder sichtbar, egal auf was die Variable [AValue] an der betreffenden Stelle gesetzt wurde.

  20. #820
    Schick mir doch mal das Projekt oder zumindest die Database und die Map-Datei, dann muss ich das Skript nicht selber auch noch nachbauen um es zu testen!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •