Skinvariablenextern weiternutzen

  • Hallo,

    eine Frage an die Skinner:

    Man kann doch diverse Variablen, wie Geschwindigkeit, Satanzahl, etc
    in einem Skin an beliebiger Stelle einsetzen.
    Ich nehme an, dazu nimmt man jeweilige Variablen.


    Kann man eigentlich diese Variablen als Parameter einem Launchbutton
    zuordnen, der ein Mortscript startet?


    Also z.B. ganz simpel gedacht:
    Ich drücke in GoPal auf das GPS-Symbol und es poppt eine Mortscriptmeldung auf: "Es sind 6 nutzbare Satelliten da."

  • Variablen-Übergabe an ext./anderes MortScript-Datei werden ja über CallScript/CallScriptFunction realisiert. Aus einem Skin heraus wird das vermutlich eher über 'params: ...' gehen (mal so ins Blaue gedacht -> mein PNA liegt daheim), entweder komplett als Text oder nur als Zahl (der Rest der Meldung wird dann im Script zusammengesetzt).

  • Hallo Ralf,

    da hast du mich missverstanden. Ich weis schon, wann ein Callscript eingesetzt wird.
    Nämlich von einem Script aus, jedoch nicht von der Skindatei (PFSkin.skn bzw. PFSkin.bsf ) aus.


    Mir geht es darum, die in folgendem Abschnitt die rot markierten Teile mit den reellen,dynamischen
    GOPAL-Variablen zu ersetzen. Wenn irgendwo im Skin die Geschwindigkeit angezeigt wird, muss das doch eine Variable sein.


    Navibutton
    {
    Class: LauncherButton;
    Coordinates: 356,194,70,25;
    Enabled: 60,30,0,0,255,0,255;
    Pushed: 60,30,0,0,255,0,255;
    Layer: OnTop;
    Launch: "\Storage Card\User\Tools\steuerung.exe";
    Params: "wert1=satanzahl wert2=tempo";
    }


  • mit mort kann einen festen Parameter übergeben.
    keine Ahnung, ob man da auch Gopal-Werte einbinden kann.


    Launch: "$MORT_PFAD$";
    params: "\"$MORT_PFAD2$\mikee_morts.mscr\" Parameter=\"hoehe"";


    mikee

  • Ich denke Adolar weis wie man mit Mort Werte übergibt. :002:


    Ob eine Übergabe aus Gopal funktioniert weis ich nicht genau aber ich bezweifel es, da alle Werte direkt im Kern behandelt werden.
    Die Sat-Anzahl wäre z.B. der Wert 16777224 der als TextFormat abgefragt wird.
    Mit einem PortSplitter könnte man natürlich den Datenstrom zusätzlich abfragen und dann nutzen aber das weist du bestimmt.

    Gruß Navirunner

    GoPal Wiki
    Tipps und Hilfen reinschauen lohnt sich

    **** Bitte keine Supportanfragen per PN, nur über's Forum! ****
    ******** Dann haben auch alle anderen was davon **********

  • Klar, hatte ich mich ja auch gewundert ;) , trotzdem: erst präzise Fragen ermöglichen präzise Antworten (das GiGo-Prinzip), denn man weiß ja nie! :icon_mrgreen:



    Also, Adolar, die Übergabe an sich habe ich hinbekommen, aber das 'Auflösen' der Variablen '%16777224' in dem Textstring habe ich bisher nicht geschafft! :denk_002: Wenn's bis morgen abend keiner der Skinexperten geschafft hat, kann ich ja weitertüfteln!


    Ich denke, weitere Angaben sind erstmal überflüssig:

    Code
    SAT_Turbo
    		{
    			Class: LauncherButton;
    			...
    			Launch: "$MORT_PFAD$\MortScript.exe";
    			params: "\"\Storage Card\_X\SatInfo.mscr\" \"Sat=%16777224\"";
    		}


  • Danke, für die Ideen und Rückmeldungen.


    Wäre dann so was denkbar:
    params: "\"\Storage Card\_X\SatInfo.mscr\" \"Sat=" & %16777224 & "\"";
    Wobei ich nicht weis, ob man mit & an der Stelle verketten kann.
    Oder sowas:
    params: "\"\Storage Card\_X\SatInfo.mscr\" \"Sat=$%16777224$\"";

    Navirunner
    Notfalls werde ich das mit dem Datenstrom vom Port auch so machen ;)



  • Mit möglichen Stringoperatoren wie ^, &, + oder auch || und auch 'Textformat(...)' hatte ich gestern und grad nochmal erfolglos 'gespielt', da brach dann immer die Kompilierung ab. 'Ne andere Idee hätte ich noch, kann nicht Koord Werte in die Reg. schreiben? Wobei man dann aber auch vor dem Problem des Auflösens der Variablen steht. :icon_mrgreen:
    Also vlt. doch lieber direkt den COM-Port anzapfen?

  • Hallo zusammen,
    ich kenne mich mit MortScript nicht aus und ist auch bestimmt Blödsinn, aber den Wert müste man doch mit <item id="16777224" value="0" type="INT" persistent="true"/> den man in der dpitems.xml hinterlegt in die Registry als DWord bekommen und von dort auslesen können.


    Gruß Chris

    -----------------------------------------------------------------

    "NO AIRBAGS" - Wir sterben noch wie richtige Männer!

    3 Mal editiert, zuletzt von ChrisHue ()

  • Danke erst mal an Euch Helferlein!
    Ich werde mich da wohl nicht weiterversteifen,
    sondern es mit dem parallelem Auslesen des
    GPS-COM-Ports machen.
    Da habe ich ja schon ein fertiges Script ... :icon_mrgreen:

  • Da hab ich mich auch länger dran versucht.


    Mein Ansatz war, den Datenstrom aus GoPal in die Konsole auszugeben, um sie von dort in C mit GetCommandLine einlesen zu können. Das Einlesen wäre nicht das Problem, nur GoPal bietet keine mir bekannte Möglichkeit, den Datenstrom auf die Konsole augeben zu lassen. Dann wäre es nämlich auch mit Koord möglich, diese Konsolenausgabe als String zu übernehmen...


    ...aber vielleicht haben wir das nur noch nicht heraus gefunden... :dontknow:

  • Monika

    Hat das Label [GoPal 5.x] hinzugefügt.