MMM.Starterpack

  • #20, by mowrenFriday, 11. March 2011, 00:47 15 years ago
    Das Problem sind wohl die 1 und 2 am Anfang der beiden Zeilen Scriptcode. Die gehören nicht zum Lua Code sondern sind nur als Referenz in der Darstellung des Forentag "Code" da. Die Zahlen verursachen im Scriptcode natürlich Fehler wodurch das Script nicht weiter ausgeführt wird.

    Newbie

    10 Posts


  • #21, by BluecrystalSaturday, 12. March 2011, 00:12 15 years ago
    Hi, thx für Hilfe Nun hab die ziffern vorne raus genommen, und im Player den print log angesehen. Es wird im Log script called angezeigt, aber leider der Aktions-Text nicht auf Hellblau umgeschaltet.

    Newbie

    42 Posts

  • #22, by BluecrystalTuesday, 15. March 2011, 23:01 15 years ago
    Hab mal zwei Screen-Shots von der fehler meldung... die Animation Wink wink wink ... kenn ich nicht

    Newbie

    42 Posts

  • #23, by AlexThursday, 24. March 2011, 22:40 15 years ago
    Die Fehlermeldung 'Invalid table name' deutet darauf hin, dass du beim Zugriff auf ein Objekt über einen Objektpfad einen falschen Tabellennamen angegeben hast. Also z.b.
    
    getObject("Taschenfont hellblau[Taschenfont hellblau]")
    
    statt
    
    getObject("Fonts[Taschenfont hellblau]")
    
    oder so ähnlich. Anders kann ich mir die Fehlermeldung nicht erklären. du könntest auch mal mehrere print Befehle einbauen (mit unterschiedlichem Text), damit du genau herausfinden kannst, auf welchen Aufruf sich die Fehlermeldung bezieht.

    Great Poster

    378 Posts

  • #24, by BluecrystalMonday, 28. March 2011, 14:52 15 years ago
    Ok, ich hab's jetzt mit viel probieren geschafft, das der Aktiontext auf hellblau mit einen Linksklick umspringt. Warum es nicht beim ersten Skript funktionierte lag daran: Das es mehrere Möglichkeiten gibt einen Aktiontext einzubauen. Da sich das Bsp.Skript auf den Aktionstext im VGame bezieht und ich aber den Aktionstext in Interface aktiviert hab, konnte es nicht gehen. Ich hab jetzt den Aktiontext in Interface deaktiviert und den Aktionstext in Game aktiviert und als Rechteck an die richtige stelle positioniert. Und siehe da, geht jetzt.*freu* Was für mich gut zum wissen wäre, welche vorteile und nachteile hat der Aktionstext in Game und der im Interface...? Und wie müsste das Skript lauten wenn ich den Aktions Text im Interface verändern würde... game:setValue(VInterfaceActionTextFont, activeFont) dieser hier geht nicht, ich glaub das V vor dem Interface ist nicht richtig. Da ich jetzt eine gute Basis hab mit diesen Skript (dank Alex,Mowren), muss ich noch eines hinzufügen. Der Aktionstext soll bei einer ausführenden Aktion (Linksklick Bereich oder Objekt) von Textart Blau auf Hellblau umspringen und nach Beendigung der Aktion von Textart Hellblau auf Blau umspringen. (wahrscheinlich wird hier wieder ein Skript nicht aus bleiben) Vielleicht hat einer eine gute Idee dazu... Mfg Blue

    Newbie

    42 Posts

  • #25, by AlexTuesday, 29. March 2011, 00:12 15 years ago
    gut dass du das soweit hinbekommen hast. An den Aktionstext im Interface hab ich gar nicht mehr gedacht.
    Was für mich gut zum wissen wäre, welche vorteile und nachteile hat der Aktionstext in Game und der im Interface...?
    Der Aktionstext im Game ist "global", also entweder an einer fixen Position oder beim Cursor. Der Aktionstext im Interface bezieht sich auf das Interface und wird dort angezeigt, wo das Rechteckt für den Aktionstext im Interface gesetzt ist.
    Und wie müsste das Skript lauten wenn ich den Aktions Text im Interface verändern würde... game:setValue(VInterfaceActionTextFont, activeFont) dieser hier geht nicht, ich glaub das V vor dem Interface ist nicht richtig.
    Alle Feld-Konstanten beginnen mit einem V. Da es sich allerdings um ein Feld im Interface handelt (VInterface...), muss man die setValue Methode auch auf einem Interface aufrufen, z.b.
    
    local interface = getObject("Interfaces[Tasche]")
    interface:setValue(VInterfaceActionTextFont, activeFont)
    

    Great Poster

    378 Posts

  • #26, by BluecrystalTuesday, 29. March 2011, 15:23 15 years ago
    Nunja,.. Hab mal das ganze für meinen gebrauch zurecht geschnitten.. sieht mal so aus
    
    local interface = getObject("Interfaces[hellblau]")
    interface:setValue(VInterfaceActionTextFont, activeFont)
    
    Leider lief das gar net so, wie ich mir das vorstellte.. was noch ist, ich kann das skript auch net ganz rückverfolgen.

    Beim dem vorriegen Skript konnte ich es im Explorer nachvollziehen.

    local activeFont = getObject("Fonts[hellblau]") verstehe ich so.. Der hier im Skript angeführte activeFont ist das Object unter Fonts[hellblau] Ist auch im Explorer zu finden Fonts->hellblau

    game:setValue(VGameActionTextFont, activeFont) verstehe ich so... Es soll im Feld game verstellt werden, das VGameActionTextFont auf activeFont Ist auch im Explorer zu finden eGame->Unbenannt->GameActionTextFont und das zum Schluss "activeFont" ist das stellglied für das springen auf hellblau.

    Ist das zutreffend was ich hier über das Skript verstehe...??

    Sorry, leider muss hier etwas genauer fragen , da ich fast nichts über Skripten verstehe, aber vestehn will. Ich stoppe hier mit den Fragen, sonst wäre es eine zu große Welle auf einmal.

    mfg Blue

    Newbie

    42 Posts

  • #27, by AlexTuesday, 29. March 2011, 19:06 15 years ago
    das Script sieht eigentlich richtig aus. Auch das Interface solltest du im Explorer finden: eInterfaces -> hellblau -> VInterfaceActionTextFont welche Fehlermeldung gibt es bei Ausführung des Skripts? Hilfreich sind wie gesagt auch immer print Ausgaben, damit du feststellen kannst, bis wohin das Skript noch fehlerfrei gelaufen ist.

    Great Poster

    378 Posts

  • #28, by BluecrystalTuesday, 29. March 2011, 22:25 15 years ago
    Hab mal Screenshots gemacht Beim ersten bild ist die Fehlermeldung Beim zweiten hab ich meinen Interface aufbau geshotet um zu zeigen das ich zwei Interface benutze eines für die Befehle und das zweite für inventar sachen.

    Newbie

    42 Posts

  • #29, by AlexTuesday, 29. March 2011, 23:28 15 years ago
    in dem Fall ist die Fehlermeldung eigentlich eindeutig: Can't find object 'hellblau' in table 'Interfaces' du hast 2 Interfaces: MMM-Style und Inventar. Demnach müsste der Befehl z.B. so aussehen:
    
    local interface = getObject("Interfaces[MMM-Style]")
    

    Great Poster

    378 Posts

  • #30, by BluecrystalTuesday, 29. March 2011, 23:41 15 years ago
    Hab denn Teil ersetzt.. Hab jetzt keine fehler meltung mehr, aber es schaltet der Aktionstext noch nicht auf hellblau

    Newbie

    42 Posts