Zitat:
Code:
if: zustand 1 on:
variable zustandsanzeige chara 1: set 1
wait 1.0
if: zustand 2 on:
variable zustandsanzeige chara 1: set 2
wait 1.0
usw.
Warum brauchst du dort ein Wait?Das bringt den Code doch unnötig zum stottern? Ausserdem würde ich diesen Paralellen Code anders aufbauen, da beim zutreffen der Bedingung, der Code bei jedem durchlauf also mehrere
Dutzend mal in der Sekunde neu zugewiesen wird.Das spielt nur keine Rolle wenn ein Schalter für ein anderes Common Event aktiviert wird. Wobei man dann überlegen sollte ob man es nicht anders Eventen kann, weil bei diesem Aufbau und eine Set Moveroute Befehl würde das Spiel anfangen zu laggen, weil der Moveroute Befehl es absolut nicht mag jeden Frame
neu zugewiesen zu werden fürs selbe Ziel.
Beispiel anhand eines simplen Schnell laufen Systems:
Conditional Branch: A.Taste Gedrückt
Wenn Ja: Conditional Branch: Schalter[Rennen] Aus Wenn Ja: Set Move Route Player Speed 5 Turn Schalter[Rennen]An
Wenn Nein: Nichts
Else Case von der ATaste= Conditional Branch Schalter [Rennen]An Wenn Ja Set Move Route Player Speed 3 Turn Schalter[Rennen]Aus
Else:Nichts oder erst gar keinen Else einstellen.
Die zusätzliche Schalterabfrage verhindert, das Code der teilweise Rechenintensiver ist als eine Bedingung neuausgeführt wird obwohl es nicht nötig ist.
Im Beispiel rennt der Spiele sollange Schnell bis er die A Taste los lässt.Der code der ihn aber schnell laufen lässt , bzw langsam, wird nur einmalig zugewiesen
Ich bin kein Experte,also korigiert mich falls ich mal falsch liege, sind aber meine Erfahrungswerte bisher.
Edit: Ups bin etwas vom eigentlichen Code abgewichen^^
Geändert von Bex (11.07.2013 um 15:21 Uhr)
Damit der Zustand 1 Sekunde lang angezeigt wird. Ich vergaß zu erwähnen, dass sich das ganze auf Events auf der KS Map bezieht, die dann je nach Stand der Variable eben umschalten.Zitat
Ich verstehe ungefähr, was du meinst. Ich wüsste nur nicht so recht, wie ich das auf mein Problem anwenden könnte.
Bitte was für ne Serie?
Versionen 2000 und 2003.
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!Now all new and shiny:CherryShare | Patches und Tools | Programmwunschthread | www.cherrytree.at | Cherry = CherryDT
Na dann. Vielen Dank für deinen Beitrag ... Makenshi o_O
Oh entschuldige. Ich hätte dir auch etwas sinnvolles zu deinem Ursprungsproblem hinterlassen sollen.
Ich hole es mal nach:
Erstmal braucht jeder Befehl Zeit um abgearbeitet zu werden. Das heißt jeder Befehl den du zusätzlich in dein PP reinsetzt, wird die Zeitmessung beeinflussen.Zitat
Wenn du das verhindert möchtest, solltest du ein zweites PP erstellen wo du nicht zeitkritische Operationen ablaufen lässt.
Eine andere Alternative um das Problem ganz zu umgehen, ist es gar nicht erst mit PPs zu arbeiten wo es nicht sein muss. Die Aktualisierung einer Werte Anzeige (HP, MP, etc.) muss nicht zwangsläufig im Hintergrund ständig aktualisiert werden.
Oft weißt du genau wann sich zum Beispiel der HP Stand des Spielers verändert. Es macht hier Sinn nach jedem Schaden dem man dem Spieler zufügt ein CE aufzurufen. Dieses kann dann den Schaden von den HP abziehen und die HP Leiste aktualisieren.
Im Endeffekt solltest du dir aber nicht übermäßig Gedanken über zu viele PPs machen. Der Großteil der Rechner dürfte heutzutage mehr als Leistungsstark genug dafür sein. Da kommt es auf eine kleine Anzahl mehr auch nicht an.
--