[DCMD]Wantedgive befehl aber wie kann man machen das es dazu gerechnet wird?

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
  • Hallo,
    ich hab mir gestern ein wantedgivebefehl gemacht.jetzt hab ich ein problem, das problem ist das ich jetzt bei pinfo wanteds dazu gemacht hab aber ich weis net wie man machen kann das es dazu gerechnet wird und nciht nur gesetzt.(gerade wird gesetzt aber da passirt nichts (darum es wird bei wanted ncihts gesetzt/dazugerechnet.)und bei der nachricht bei dem %s wo die wantedsanzahl wo dazu gekommen sind und die wanteds wo er jetzt hat kommen sollte kommt ncihts.(ich glaub das liegt an dem anderen fehler in klammern))


    Befehl (bitte net kopieren):

    dcmd_givewanteds(playerid,params[])
    {
    new pID2, wanted, string[256], pname[MAX_PLAYER_NAME], pIDname[MAX_PLAYER_NAME];
    new wantedanzahl = pInfo[pID2][wanteds];
    if(pInfo[playerid][fraktion] == 0) { return SendClientMessage(playerid, COLOR_RED, "Du bist kein Cop!"); }
    if(Duty[playerid] == 0) { return SendClientMessage(playerid, COLOR_RED, "Du bist nicht im Dienst!"); }
    if(sscanf(params,"ud", pID2, wanted)) { return SendClientMessage(playerid,0xAFAFAFAA,"Benutze: /givewanteds [playerid] [Wantedanzahl]"); }
    GetPlayerName(playerid, pname, sizeof(pname));
    GetPlayerName(pID2, pIDname, sizeof(pIDname));
    * pInfo[pID2][wanteds] = wanted;
    format(string, sizeof(string), "Polizist %s hat dir Wanteds gegeben", pname);
    SendClientMessage(pID2, COLOR_RED, string);
    format(string, sizeof(string), "Polizist %s hat %s Wanteds gegeben!", pname, pIDname);
    Copmessage(COLOR_BLUE, string);
    format(string, sizeof(string), "%s hat nun %s Wanteds!", pIDname, wantedanzahl);
    Copmessage(COLOR_BLUE, string);
    SetPlayerWantedLevel(playerid, wantedanzahl);
    return 1;
    }

    da wo jetzt das * ist, da wird es gerade gesetzt da ich net weis wie man dazu macht.


    Bitte helfen

  • Du benutzt sscanf auch an der falschen stelle.
    Du setzt hier einen wert in einer variable von der ID 0. Denn du hast noch nichts ausgelesen, so ist der Wert pID2 immer 0
    new wantedanzahl = pInfo[pID2][wanteds];


    Von daher musst du sscanf schon "früher" benutzen

  • dcmd_givewanteds(playerid,params[])
    {
    new pID2, wanted, string[256], pname[MAX_PLAYER_NAME], pIDname[MAX_PLAYER_NAME];
    if(sscanf(params,"ud", pID2, wanted)) { return SendClientMessage(playerid,0xAFAFAFAA,"Benutze: /givewanteds [playerid] [Wantedanzahl]"); } * Das hier kommt hoch (vor der Abfrage)
    new wantedanzahl = pInfo[pID2][wanteds];
    if(pInfo[playerid][fraktion] == 0) { return SendClientMessage(playerid, COLOR_RED, "Du bist kein Cop!"); }
    if(Duty[playerid] == 0) { return SendClientMessage(playerid, COLOR_RED, "Du bist nicht im Dienst!"); }
    GetPlayerName(playerid, pname, sizeof(pname));
    GetPlayerName(pID2, pIDname, sizeof(pIDname));
    * pInfo[pID2][wanteds] = wanted;
    format(string, sizeof(string), "Polizist %s hat dir Wanteds gegeben", pname);
    SendClientMessage(pID2, COLOR_RED, string);
    format(string, sizeof(string), "Polizist %s hat %s Wanteds gegeben!", pname, pIDname);
    Copmessage(COLOR_BLUE, string);
    format(string, sizeof(string), "%s hat nun %s Wanteds!", pIDname, wantedanzahl);
    Copmessage(COLOR_BLUE, string);
    SetPlayerWantedLevel(playerid, wantedanzahl);
    return 1;
    }



    Dein Fehler war, dass die Eingabe per InGame der Playerid zuspät abgefragt wurde, währenddessen wurde oben bei
    new wantedanzahl = pInfo[pID2][wanteds];
    nicht definiert, da die Variable erst weiter unten angegeben wurde.

    Du brauchst eine Website?

    Du hast ein Layout angefertigt und willst es gecoded sehen?

    DANN SCHREIB MICH AN.

    Kostenlos und für euch.