Scheine an Fahrzeugen zuordnen und abfragen

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
  • Wow ich gucke es mir an und sehe es nicht einmal, array ist zu klein? ist damit die [20] gemeint?


    Code
    (1931) : warning 217: loose indentation
    (1931) : error 047: array sizes do not match, or destination array is too small
    (1932) : error 047: array sizes do not match, or destination array is too small
    (1932) : error 047: array sizes do not match, or destination array is too small
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    3 Errors.

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Das bedeutet, dass die Einrückung der Zeilen nicht korrekt ist. Rücke alle Zeilen auf gleicher Ebene (pro geschweifte Klammer auf, eine Ebene) gleich ein.


    Das heißt du musst die vier Zeilen nach der "new..." Zeile um einen Tab nach links schieben.

  • Ich habe Probleme bei Zeile 6. versuche gerade daneben anzuzeigen das wenn er weniger also 0 Punkte hat die Punkte in grün angezeigt werden und alles andere in Rot, aber so klappt es nicht oder? Brauche dabei Hilfe


    Sollte grob so aussehen dann,


    •Autoschein 0/10
    •LKWschein 0/10
    •Motorradschein 0/10
    •Flugschein 0/10
    •Bootsschein 0/10
    •Waffenschein A|B

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Bräuchte noch mal Hilfe


    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Ja ber aPunkte usw. sind halt im Player Enum drin oder soll es nicht so sein, also weiß jetzt nicht wie und was ich umbenennen soll

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Du benötigst die ganzen Variablen gar nicht.
    Schreibe es so, das ist wesentlich übersichtlicher:
    ocmd:scheine(playerid,params[])
    {
    new string[250];
    format(string, sizeof(string), "Du besitzt folgende Scheine:\n\n");


    if(pInfo[playerid][pAutoschein]) format(string, sizeof(string), "%s{00FF00}• Autoschein", string);
    else format(string, sizeof(string), "%s{C45461}• Autoschein", string);

    if(pInfo[playerid][aPunkte] < 1) format(string, sizeof(string), "%s {00FF00}%d/10\n", string, pInfo[playerid][aPunkte]);
    else format(string, sizeof(string), "%s {C45461}%d/10\n", string, pInfo[playerid][aPunkte]);

    if(pInfo[playerid][pMotorradschein]) format(string, sizeof(string), "%s{00FF00}• Motorradschein", string);
    else format(string, sizeof(string), "%s{C45461}• Motorradschein", string);


    ShowPlayerDialog(playerid,5555,DIALOG_STYLE_MSGBOX,"{FFFFFF}Scheine",string,"Schließen","");
    return 1;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ich möchte jetzt das die Punkte so perfekt untereinander sind so wie ich es jetzt versucht habe aber es ist nicht genau http://prntscr.com/j3w1jy

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Ich würde das dann mit einem Table machen:



    DIALOG_STYLE_TABLIST



    Musst du dann mit \t arbeiten :)


    beispiel:



    {
    new string[250];
    if(pInfo[playerid][pAutoschein]) format(string, sizeof(string), "%s{2AC374}• Autoschein", string);
    else format(string, sizeof(string), "%s{C45461}• Autoschein", string);
    if(pInfo[playerid][aPunkte] < 1) format(string, sizeof(string), "%s\t{2AC374}%d/10\n", string, pInfo[playerid][aPunkte]);
    else format(string, sizeof(string), "%s\t{C45461}%d/10\n", string, pInfo[playerid][aPunkte]);
    if(pInfo[playerid][pMotorradschein]) format(string, sizeof(string), "%s{2AC374}• Motorradschein", string);
    else format(string, sizeof(string), "%s{C45461}• Motorradschein", string);
    if(pInfo[playerid][mPunkte] < 1) format(string, sizeof(string), "%s\t{2AC374}%d/10\n", string, pInfo[playerid][mPunkte]);
    else format(string, sizeof(string), "%s\t{C45461}%d/10\n", string, pInfo[playerid][mPunkte]);
    new string1[250];
    format(string1,sizeof(string1),"{FFFFFF}Scheine von %s",Spielername(playerid));
    ShowPlayerDialog(playerid,DIALOG_SCHEINE1,DIALOG_STYLE_TABLIST,string1,string,"Schließen","");
    return 1;
    }


    nicht ausprobiert sollte so klappen :)


    Mehr transparents zu der Community!
    Aber bitte künftig: Transparenz und nicht Transparents

  • Danke wusste noch nicht das es \t gibt, irgendwie kommen da Fehler gemeint sind Zeile 7,8,12,13


    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Beitrag von FineTime ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: wurde bereits geschrieben ().
  • Oh danke, passiert mir öfters. @Kevin_CaruZo Es soll in der Form einer MSGBOX angezeigt werden sieht besser aus.


    http://prntscr.com/j4b4m1 Es sieht trotzdem komisch aus es soll ja alles so untereinander ordentlich geordnet sein


    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

    Einmal editiert, zuletzt von Jameso ()

  • Dann nutz nochmal \t



    if(pInfo[playerid][aPunkte] < 1) format(string, sizeof(string), "%s\t\t\t| {2AC374}%d/10 |\n", string, pInfo[playerid][aPunkte]);
    else format(string, sizeof(string), "%s\t\t\t| {C45461}%d/10 |\n", string, pInfo[playerid][aPunkte]);
    [/list]


    so sollte es dann richtig seine evt? :)

  • Oh ja war so klar...


    Kann ich jetzt hier noch abfragen weil wenn der Schein nicht vorhanden ist also Autoschein,LKW,Motorrad dann sollen auch die Punkte Rot sein und nicht Grün der Rest wie gehabt wie soll ich das abfragen?

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.