Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 20 von 28

Thema: Spiel laggt übelst

  1. #1

    Spiel laggt übelst

    Soo,

    ich habe mir nen schönen Zähler erstellt welcher immer anzeigt wie oft man gestorben ist (man stibrt und muss ein bestimmtes Level von vorne anfangen)

    Das ganze besteht aus ner Basis also nem Viereck wo ein Skelett an der Seite ist und 4 Kästchen eins ist mit dem Skellet besetzt.

    Die nächsten Kästchen werden eben jenachdem wie oft man gestorben ist mit der bestimmten Zahl bestückt hier der Grobe Code:

    Common Event:
    Branch if var Todeszähler Einser is 0
    show Picture 1 Todeszähler Nummer 0

    Das ganze geht immer soweiter mit Zehnern und Hundertern im Parralel Process.
    Das ganze geht auch gut so bis ich noch als Picture die 100 dazu nehme das sind das insgesamt 3 Pictures die über Parralel Process laufen....

    Jetzt meine Frage liegt es daran das das Spiel so laggt oder habe ich was beim Code falsch gemacht?

    Achja Zehner Hunderter usw. werden jeweils von nem anderen Common Event abgefragt.

    Ich hoffe man kann mir hier helfen^^.

  2. #2
    Vielleicht hilft ein einfacher Wait Befehl da du dein Counter anscheind per Bild anzeigst.
    Ansonsten kann ich dir raten mal den Code mitzuliefern.

    Edit:
    Falls dies trotzdem nichts gebracht hat verwende dieses Tool
    http://www.multimediaxis.de/threads/...yEventExporter
    Um uns einblick in deinen Code zu verschaffen!

    Lg
    Multi-Master1988

    Geändert von Multi-Master1988 (14.11.2010 um 18:48 Uhr)

  3. #3
    Verwende möglichst lange zusätzliche Wartezeiten und meide so oft es geht zu viele Parallel Processes. Packe, wenn möglich, alles in einen ganzen Code. Unter Umständen wäre es auch möglich, die parallelen Prozesse in einem Auto-Start ablaufen zu lassen.

    Könntest du eigentlich die Bilderzahlen als Events/Charsets anzeigen lassen? Das schont zusätzlich die Nerven und ist komfortabler.

    Geändert von relxi (14.11.2010 um 18:50 Uhr)

  4. #4
    Ja mit den Wait Befehlen geht es ganz gut mit Events habe ich keine Ahnung wie ich das anstellen soll naja...
    Es laggt immernoch aber nicht mehr so stark, ich habe mich jetzt dazu entschieden den Zähler ins Menü zu packen da es dann keine laggs geben dürfte aber danke für die Hilfe und auf die Sache mit den Waits hätte ich selbst kommen müssen-.-...

  5. #5
    Für mich scheint der problem da zu liegen dass du diesem "show picture" in parallel process hast, was gar nicht nötig ist.
    Du brauchst nur den event den die pictures anzeigt rufen wann immer du stirbst.
    "show picture" soll am liebsten nur benutzt werden wenn das bild geändert wird, sonst nie.

  6. #6
    Danke erstmal für die Hilfe ich habe auch den Zähler nun komplett fertig bis auf eine Sache die ich nicht verstehe...

    Der Zähler geht von 1 bis 999 wobei es probleme mit den Zehnern gibt es kommt vor das wenn ich bei 39 bin nichts passiert sobald ich nach 40 gehe erst wenn ich zur 41 komme wird es angezeigt also Variable 39 Zahl 29 Variable 40 Zahl 39 Variable 41 Zahl 41
    das ist aber anscheinend zufällig es kann auch vorkommen das es bei ner anderen Zahl kommt oder garnicht aber ich verstehe nicht wo der fehler ist:

    Der ganze Code geht eben so wie ich oben beschrieben habe und ich habe nachgekukt bei jeder Zahl sind die Einstellungen gleich.
    natürlich muss ich noch ein anderes Event erstellen welches dafür sorgt das es nach 9 wieder auf 0 kommt:
    Branch if var Todeszähler Einer is 10
    Switch Operations Todeszähler Zahlen On (Dieser Switch sorgt eben dafür das das Common Event zum anzeigen der Zahlen an geht)
    Variable Oper Todeszahl Einer set 0
    Variable Oper Todeszähler Zehner +1

    Branch if var Todeszähler Zehner is 10
    Switch Operations Todeszähler Zahlen On
    Variable Oper Todeszahl Zehner set 0
    Variable Oper Todeszähler Hunderter +1

    Wait 0.0

    So das wars und ich kann versichern das Common Event um die Zahlen anzuzeigen hat keinen Fehler....

    Geändert von djeurissen (15.11.2010 um 16:04 Uhr)

  7. #7
    @ djeurissen

    Hier wäre der Code recht hilfreich! Besonders weil man dann genau sieht was du mit den Varis machst.

    Lg
    Multi-Master1988

  8. #8
    Ähäm ich war nicht fertig habe ausversehn k gedrückt da oben stehtsXD

  9. #9
    Scheint von der Lokig her richtig zu sein Könntest du trotzdem den besagten Codeteil mit dem EasyEventExporter (Suchfunktion oder obigen Link benutzen!) von Cherry
    Posten?

    Lg
    Multi-Master1988

  10. #10
    Ist es in einem Loop? ich habs so gemacht:

    Loop
    -Wait 0.0
    -Branch if Var Zähler einer greater 9
    --Var Zähler einer -10
    --Var Zähler zehner +1

    usw
    ..
    Loop end

    und das als common event das mit dem Befehl "Call Event" aufgerufen wird, wenn es benötigt wird
    Der Zähler selbst wird bei mir über ein Event angezeigt weil es mit Show Picture trotz Wait gelaggt hat... (was aber dran liegen könnte das ich 2 gleichzeitig habe laufen lassen xD)

  11. #11
    @djeurissen:

    Verwende für so etwas bitte den EasyEventExporter. Spart Arbeit und zeigt außerdem Eventeinstellungen an, die normal nicht sichtbar sind (z.B. Picturetransparenzen, etc.)

    1. das ganze Event kopieren (Rechtsklick->kopieren)
    2. EasyEventExporter öffnen
    3. Bei der Frage auf "Ja" klicken und die Datei "vbcode_lightbg.eft" im Ordner "ftemplates" auswählen (dadurch wird der Code im Forum gehighlighted
    4. Das Ergebnis dann hier reinkopieren

    mfG Cherry

  12. #12
    Achso so funktioniert das Teil XD ich überleg die ganze Zeit was die Zwischenablage ist naja einmal das ganze um die Pictures anzuzeigen wobei ich anmerken soll ich keine Ahnung habe wie man das ''hier'' in Spoiler packt:


    Ja das wars warscheinlich habe ich es mir zu Umständlich gemacht aber hey solange es funktioniert^^

    Geändert von djeurissen (16.11.2010 um 19:48 Uhr)

  13. #13
    *push* ich habe das problem immer noch nicht gefunden...

  14. #14
    Mittels ["SPOILER]["/SPOILER] kriegst du das in besagten Spoiler (einfach nur dazwischen packen und die " weglassen). Das CommonEvent kannst du auch als CallEvent setzen, sieht mMn besser aus und spart einen Switch. Außerdem wird es so nicht ständig erneut ausgeführt, sondern nur, wenn es wirklich nötig ist.

  15. #15
    Zitat Zitat von R.F. Beitrag anzeigen
    sondern nur, wenn es wirklich nötig ist.
    Das und nur das ist das Problem. Es ist unglaublich performancelastig, Bilder immer und immer wieder neu anzeigen zu lassen. Solche Sachen macht man nur, wenn es sich um einzelne Bilder handelt, die mal angezeigt werden. Ansonsten bist du relativ gut daran beraten, so was über Move Picture anzuzeigen. Ich glaube, ich habe es schon öfter mal erwähnt, dass es am einfachsten ist, sich ein Bild zu erstellen, das, im Fall von Zahlen, eine Höhe von 2400 Pixeln hat. Und in jeden 240er Bereich setzt man eine Zahl, natürlich immer auf dieselbe Höhe. Anschließend musst du nur den Bildausschnitt des Pictures über ne Rechnung verschieben lassen, hält den Code extrem kurz und ist lange nicht so lästig beim Anzeigen. Den ganzen Forkkram kannst du dir damit übrigens auch sparen.

  16. #16
    Machst du den Switch 5 noch irgendwoanders aus? Ich seh da auch erstmal keine Fehler - vom Grundgedanken her funzt des da (auch, wenn ich's anders machen würde :P).

    Wenn du allerdings noch woanders, als im Common Event "Todeszähler E-Z-H" Einfluss auf den Switch 5 nimmst, hätte ich zumindest eine Idee:
    Ein paralleler Prozess mit einem Switch als Bedingung bleibt beim Ausführen dort stehen, wo der Switch deaktiviert wird und wird bei Reaktievierung des Switches genau dort weitergeführt. Ich kann mir vorstellen, dass dein Anzeigeevent dann von der Mitte aus ausgeführt wird, er also beim Ausführen nicht mehr bei if == 0 vorbeikommt und dann eben nichts macht.
    Interessant wäre auch das Variablenergebnis. Drück doch während eines Testspiels mal F9 und schau mal, ob wenigstens die Variablenwerte stimmen. Wenn die Variable 39 ist, aber es nicht richtig angezeigt wird, dann denke ich, liege ich mit meiner Vermutung nicht ganz falsch.

    Sollte ich gerade nicht totalen Bockmist von mir gegeben haben, dann sollte das Problem verschwinden, sobald du R.F.s Vorschlag mit dem Call Event umgesetzt hast ^^

    @cilence: Ja, cilence, das wäre dann die "Wir machens, wie ECHTE Programmierer Lösung" ^^ Musste unwillkürlich an meinen Scripting-Unterricht denken^^

    Geändert von Taijj (16.11.2010 um 20:03 Uhr)

  17. #17
    Ähäm *hust* wärst du so nett mir das für dumme zu erklären ich blick nicht gnaz durch was du jetzt von mir willstXD
    Das war jetzt nicht an Taji gerichtet^^.

    Und nein ich benutze den Switch 5 nur für diese Sache sonst nichts...

    Geändert von djeurissen (16.11.2010 um 20:06 Uhr)

  18. #18
    @cilence: Soll ich oder willst du? ^^

  19. #19
    @ djeurissen

    Laggt dein Spiel eigentlich immer noch? Wenn ja mir ist noch in den Sinn gekommen
    das es an deinen Rechner liegen könnte wenn dieser etwas älter ist??
    Vergleich es mal mit anderen Rechnern.

    Trotzdem solltest du auch die anderen Post versuchen in dein Scripting umzusetzen!

    Lg
    Multi-Master1988

  20. #20
    Nein es laggt nicht mehr da die nPictures nun über nen Switch laufen laggt es nicht mehr sie laufen ja nur wenn der Switch an ist^^.
    ich versuche ja die anderen Post umzusetzen aber ich verstehe nicht was cilence von mir will^^

Berechtigungen

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