Login Nachricht farbig

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • 8 = wie viele Zeichen reserviert werden, in "output". Man nimmt eigentlich immer die Größe des Strings.


    Jeffry please :D


    Man nimmt die größe des Strings + 1 (EoS - End of String -nicht vergessen)


    xSoldier: Genau das was ich oben genannt habe - es fehlt ein Zeichen.
    Pawn hat leider keine richtigen Zeichenketten(strings) und hilft sich mit einem "Platzhalter" (EoS).
    Deswegen muss der String um einsgrößer sein als man eigentlich braucht.


    Die richtige Größe wäre 9 - nicht 8


    {FFFFFF}\0 -> ergibt 9 (\0 gilt hier als ein Zeichen weil es der EoS ist bzw. markiert).

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Beitrag von Sharpadox ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • format(output,8,"{FFFFFF}");
    das ändert aber nichts daran das hier noch ne 8 steht, denn das was ich im Beitrag zuvor geschrieben habe, gilt auch hier :thumbup:


    Nutze dort einfach statt der 8 sizeof(output)das gibt nämlich die richtige größe des Arrays an und du musst dich nicht darum kümmern.
    Das heißt, änderst du den Array von 9 auf 10 bspw. musst du es nicht noch wo anders ändern.

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • sizeof(output)

    Ich höre sehr oft das sizeof "sehr" and die Ressourcen geht und das man es nicht nutzen sollte, kannst du mir/uns evtl. erklären ob das stimmt und warum man es nutzen/nicht nutzen sollte ?


    Falls der Post unerwünscht ist bitte löschen, wollte jetzt kein extra Thema öffnen, wäre unnötig gewesen.

  • Kommen Errors hab ich das vlt faltsch gemacht?


    eh ja, du solltest nur die 8 ersetzen nicht den kompletten Kram :D


    case 0: format(output, sizeof(output),"{FFFFFF}");


    @Paradoxon: Am Besten du ließt die beiden Beiträge von Kaliber und Prototype -> [ INCLUDE ] Waterinclude - Stelle fest ob sich ein Fahrzeug oder ein Spieler im Wasser befindet

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Dannm gibt dir deine Funktion was falsches Zurück.
    Was womöglich daran liegt, das dein Wert, den du in der Funktion im switch prüfst nicht geändert wird, wenn du deine Fraktion wechselst

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Kann es vlt daran liegen, das ich pLeader als


    Keine Ahnung - du musst doch wissen wann du welche Variable änderst.
    Es wäre halt von Vorteil die zu nehmen die sich ändert wenn sich die Fraktion ändert.
    Welche das ist, weiß ich nicht.
    Ist schließlich dein Script was du da vor dir hast.

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • xSoldier:
    Dadurch das du pLeader nutzt teilst du nur dem Leader eine Farbe zu. Zusätzlich müsste es bei Godfather glaube ich pMember geben.
    Allerdings keinen Wert der allgemein die FraktionsID bestimmt, das macht das ganze nen Hauch komplizierter, dadurch das du doppelt Abfragen musst. Allerdings auch nicht sonderlich.


    //EDIT
    Solltest dein Script den Spielern je nach Fraktion automatisch Farben zuweisen könntest du es die auch ganz einfach machen und GetPlayerColor() nutzen.
    http://wiki.sa-mp.com/wiki/GetPlayerColor

  • Ja, ich benutze GetPlayerColor um die FraktionID eine Farbe zu zuweißen..
    aber wie soll ich das schreiben? habe das so probiert.
    switch(PlayerInfo[playerid][GetPlayerColor()]){
    Kommen aber Warnings.


    C:\Users\Matze\Desktop\Server\WOS Script 2.0\gamemodes\Dark.pwn(49192) : warning 202: number of arguments does not match definition
    C:\Users\Matze\Desktop\Server\WOS Script 2.0\gamemodes\Dark.pwn(49192) : warning 213: tag mismatch

  • Jeffry please :D
    Die richtige Größe wäre 9 - nicht 8


    output,8, und was bedeutet das? ouput und 8?


    Er hat gefragt, was die Zahl 8 im Format bedeutet, das habe ich ihm erklärt. Es ging nicht darum, ob das jetzt in dem Fall richtig ist, oder nicht...
    Das hätte er sowieso nach der Erklärung auch selbst gemerkt, dass die Klammer dann hinten fehlt, und er es zu 9 ändern muss.
    Sei's drum.



    xSoldier: Wie sieht denn der Rest von dem Code aus der dazugehört?
    So macht der Code ja keinen Sinn, aber ich kann dir auch nicht sagen wie es richtig ist, da ich nicht weiß was du dahinter vor hast.

  • Hier der Code.
    stock FactionColor(playerid){
    new output[9];
    switch(PlayerInfo[playerid][pLeader])
    {
    case 0: format(output, sizeof(output),"{FFFFFF}");
    case 1: format(output, sizeof(output),"{00FF0A}"); // LSPD = Blau
    case 2: format(output, sizeof(output),"{00AA00}"); // GS = Grün
    case 3: format(output, sizeof(output),"{FF8800}"); // News = Orange
    }
    return output;
    }


    Wenn ich auf dem Server connecte, werden alle leute Weiß angezeigt.. möchte aber das sie in denjenigen Fraktonsfarben im Chat angezeigt werden sollen wenn sie auf dem Server connecten.
    Wäre sehr nett wenn du mir weiter helfen könntest Jeffry:


    Mit freundlichen Grüßen,
    Matze

  • Probier mal das hier:



    tock FactionColor(playerid){
    switch(PlayerInfo[playerid][pLeader])
    {
    case 0: return 0xFFFFFFFF;
    case 1: return 0x00FF0AFF; // LSPD = Blau
    case 2: return 0x00AA00FF; // GS = Grün
    case 3: return 0xFF8800FF; // News = Orange
    }
    return 1;
    }

  • Nein, das wird nicht gehen.


    Das Problem liegt daran, dass du die Fraktion des Spielers abfragst, wenn er gerade connected hat. Da hast du der Variable PlayerInfo[playerid][pLeader] noch keinen Wert zugewiesen, somit ist sie 0.


    Du musst also entweder den Spieler VOR der Nachricht einloggen, oder sie Fraktion direkt bei OnPlayerConnect vor der Nachricht aus der Datei bzw der Datenbank auslesen.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen