Skin Auswahl by Navirunner MortScript

  • Kann mir bitte mal jemand beim MortScript auf die Sprünge helfen , ich stehe irgendwie im dunklen ?


    Wenn ich 5 Skins zur Auswahl habe und keiner dazwischen wegfällt passt alles aber wenn ich z. B. TeamSkin (TS) nicht habe rücken die unteren drei eine Position höher das passt auch , zumindest die Anzeige .


    Aber im unteren Teil des Script bei der Auswahl müsste in diesem Fall wenn ein Skin dazwischen wegfällt die Nummerierung auch ein höher rücken , im diesem Fall müsste If (auswahl=(3)) zu If (auswahl=(2)) werden und so weiter .



    Irgendwie komme ich nicht dahinter , habe schon so ähnlich wie in oberen Teil einiges versucht , es wurde nur schlimmer .


    Ich sehe manchmal vor lauter Bäume den Wald nicht .



    Edit:
    Zum besseren nachvollziehen hänge ich mal die relevanten Dateien mit dran , sind ja die Skin-Daten des jeweiligen Skin , so wie der Skiner sie zur Verfügung gestellt hat .


    RAR ist doppelt gepackt , so passt es grade noch zum anhängen .



    Edit:
    Ach so , Build 94xxx


    Gruß Manni



  • Hmmm... ich kenne mich zwar nicht besonders mit Mortscripten aus, aber meines Erachtens schreit das nach einem Array.


    So wie Du das gemacht hast ist das hardcoded. Sobald da was weg fällt... hast du verloren.


    Die einzelnen *.bsf (oder was auch immer) zählen und die Dateinamen in ein Array schreiben.
    Dann kannst Du das Ganze viel kürzer schreiben, weil Du immer nur das Array benutzt.
    Damit wäre es dem Script egal, wie viele Skin-Versionen da drin liegen und wie die heissen.


    Ich muss mir mal die Anleitung saugen um zu sehen, wie und ob Mort mit Arrays umgeht...

  • Da muss ich erst mal durchsteigen...
    Hab so lange mit Mort nix mehr gemacht.


    - - - - -automatisch zusammengefasst - - - - -


    Hallo mikee,
    schau ich mir in Ruhe an, jetzt auf die Schnelle geht das gerade nicht.
    Aber in der Anleitung ist ein ganz gutes Array-Beispiel drin. Das muss natürlich an Deine Umgebung angepasst werden.


    Übrigens... im oberen Anzeigetteil hast Du schon mit Arrays gearbeitet... :002:

  • Wie sieht denn die INI-Datei aus?
    Kannste mir die mal bitte schicken?

  • Geh doch den einfachen Weg ...
    Sobald ein Skin wegfällt, läßt Du eine Meldung aufleuchten --> " Dieser Skin steht nicht zur Auswahl "



    ... Pumuckel

    Fahrt nicht schneller als Euer Navi Euch warnen kann!

    3 Mal editiert, zuletzt von Pumuckel ()

  • Das ist auch eine Möglichkeit....


    Leider fehlt in Mort so was wie:
    ForEach file in folder... oder so was.
    Damit hätte man dann ein Array befüllen können und Du hättest nur die Skins angezeigt bekommen, die auch wirklich auf dem Gerät sind.... und das auch nach jeder Änderung.


    Jedenfalls kann ich da nix zu finden. :denk_002:
    Schade eigentlich... :dontknow:

  • Die INI bekommt für Skin Tausch nur diesen einen Eintrag .


    [Skin Version]
    SKIN=2





    Ich könnt das auch in AHK umsetzen aber so ein Aufwand wollte ich für ein paar Files tauschen eigentlich nicht treiben , zumal das Script von Navirunner ja sein Zweck erfüllt



    @ Pumuckel
    im oberen Teil ist nicht das Problem , da klappt ja alles auch wenn ein Skin dazwischen weg bleibt , im unteren Teil muss ich es anders angehen .





    Gruß Manni


  • @ Pumuckel
    im oberen Teil ist nicht das Problem , da klappt ja alles auch wenn ein Skin dazwischen weg bleibt , im unteren Teil muss ich es anders angehen .


    Die Abfrage, ob der Skin vorhanden ist oder nicht, kann man aber doch auch dort integrieren :002:.


    ... Pumuckel

    Fahrt nicht schneller als Euer Navi Euch warnen kann!

  • ...im unteren Teil muss ich es anders angehen .


    Wie wär's hiermit (nicht über den Index, sondern den Skin-Namen):

  • Danke danke Ralf


    Klappt hervorragend , so kann man Skins auch mitten drin weg lassen . :top_002: :Respekt:


    Habe im oberen Teil noch einige If not FileExists und EndIf raus genommen einmal pro Skin If not FileExists reicht , es betrifft ja auf jeden Fall beide Files die ***.bsf und ***.xml , das stammte noch aus der Entwicklung .


    Auch Pitter und Pumuckel ein goßen Dank .


    Gruß Manni



  • Habe im oberen Teil noch einige If not FileExists und EndIf raus genommen einmal pro Skin If not FileExists reicht , es betrifft ja auf jeden Fall beide Files die ***.bsf und ***.xml , das stammte noch aus der Entwicklung .


    Du kannst es auch noch weiter optimieren im unteren Teil mit 'ElseIf'


    Auch könnte man sich überlegen, in einem zweiten Array die Skin-Namen abzulegen (oder in einem weiteren *.ini-File) und darauf abzustellen, das minimiert etwas die Gefahr der Schreibfäla. ;)

  • Ich wollte das mal so in unserm Skin einsetzen , die Skin Ordner sind ja Original von Skiner so angelegt außer unser TeamSkin und Pumuckel Skin aber das war kein Problem das zu ändern .


    So können die User sich einfach mehrere Skins hintereinander aufziehen und tauschen und wen sie nicht so gern möchten lassen Sie einfach weg , die Reihenfolge passt sich ja jetzt selbst an .
    Alle Skins müssen natürlich für die Build der Original gedacht sein .


    Und wenn mal eine neue PFSkin.skn oder von Skiner als PFSkin.bsf kommt wird diese nach dem testen und nächsten Skin Tausch in Elemente gesichert , deswegen das Löschern der ***.bsf und ***.xml aus Elemente des aktiven Skin ., außer Original Skin .


    Edit:
    Die Skins selbst müssen nach wie vor vom Skiner bezogen werden , das würde sonst auch keinen Sinn machen , ich liefere nur das Script für SkinTausch .
    Und je nach dem welches StartMenü der Skins man haben möchte , dieser Skin muss dann eben zum Schluss installiert werden .
    Falls sich bei den StartMenüs was vermischt muss man ein bisschen nachkorrigieren , das habe ich noch nicht getestet .


    All das geht natürlich nur wenn der Skiner seine Bilder Icons ( PNG) in einem eigenen Ordner hat , so wie Nanirunner und HePe und jetzt GoPalWorld , wir mit dem TeamSkin und Pumuckel Skin sind da noch nicht so weit , ich habe unsere TeamSkin und Pumuckel die PFSkin.skn erst mal nur für meinen Zweck angepasst , das müssten dann schon die Skiner machen sonst würde das auch keinen Sinn machen.


    Gruß Manni



    Mit ElseIf im unteren Teil , im oberen klappt das nicht mit ElseIf , dann bekomme ich nur den ersten und letzten Skin zu sehen , so ist es aber schon sehrgut .

  • Da hat sich doch glatt der GoPalWorld Skin dazu gesellt .:icon_mrgreen:


    Zum glück haben Sie auch ihre PNG im eigenen Ordner , war aber trotzdem nicht so einfach aber wie ihr seht kein Problem .


    Gruß Manni


    mit GPW Skin :icon_mrgreen: