Problem mit ID 0

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 Community,
    Ich arbeite im Moment an meinem Selfmadescript.
    Ich habe zuletzt den Befehl /points hinzugefügt.
    Nun habe ich ein Problem:
    Wenn man nur /points eingiebt, werden der Id 0 auf jeder Lizenz 0 Punkte eingetragen.
    Hier der Code:
    dcmd_points(playerid,params[])
    {
    new pID;
    new pName[20];
    new Anzahl;
    new Grund[20];

    if(Player[playerid][Fraktion] == 3 || Player[playerid][Fraktion] == 12 || Player[playerid][Fraktion] == 4)
    {
    if(sscanf(params,"ddss",pID,Anzahl,pName, Grund))
    {
    SendClientMessage(playerid, COLOR_RED, "Benutzung: /points [playerid][Anzahl][Lizenzname][Grund]");
    }
    if(Anzahl<0)
    {
    SendClientMessage(playerid, COLOR_RED,"Du kannst nicht 0 Punkte vergeben!");
    }
    if(Anzahl>10)
    {
    SendClientMessage(playerid, COLOR_RED,"Du kannst nicht mehr als 10 Punkte vergeben!");
    }
    else
    {


    if(strcmp(pName,"Bike")== 0)
    {
    new aname[MAX_PLAYER_NAME];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(pID,name,sizeof(name));
    GetPlayerName(playerid,aname,sizeof(aname));
    new string[256];
    new string2[256];
    format(string,sizeof(string),"Du hast %s %d Punkte auf seiner Bikelizenz eingetragen(Grund: %s)",name,Anzahl,Grund);
    format(string2,sizeof(string2),"%s hat dir %d Punkte auf deiner Bikelizenz eingetragen(Grund: %s)",aname,Anzahl,Grund);
    SendClientMessage(pID,COLOR_LIGHTBLUE, string2);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    Player[pID][Bikepunkte] += Anzahl;
    }

    if(strcmp(pName,"Car")== 0)
    {
    new aname[MAX_PLAYER_NAME];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(pID,name,sizeof(name));
    GetPlayerName(playerid,aname,sizeof(aname));
    new string[256];
    new string2[256];
    format(string,sizeof(string),"Du hast %s %d Punkte auf seiner Carlizenz eingetragen(Grund: %s)",name,Anzahl,Grund);
    format(string2,sizeof(string2),"%s hat dir %d Punkte auf deiner Carlizenz eingetragen(Grund: %s)",aname,Anzahl,Grund);
    SendClientMessage(pID,COLOR_LIGHTBLUE, string2);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    Player[pID][Carpunkte] += Anzahl;
    }


    if(strcmp(pName,"Truck")== 0)
    {
    new aname[MAX_PLAYER_NAME];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(pID,name,sizeof(name));
    GetPlayerName(playerid,aname,sizeof(aname));
    new string[256];
    new string2[256];
    format(string,sizeof(string),"Du hast %s %d Punkte auf seiner Trucklizenz eingetragen(Grund: %s)",name,Anzahl,Grund);
    format(string2,sizeof(string2),"%s hat dir %d Punkte auf deiner Trucklizenz eingetragen(Grund: %s)",aname,Anzahl,Grund);
    SendClientMessage(pID,COLOR_LIGHTBLUE, string2);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    Player[pID][Truckpunkte] += Anzahl;
    }
    }
    }
    return 1;
    }


    Ich hoffe Ihr könnt mir helfen.
    Thx im Vorraus.
    MfG Ber912

  • if(sscanf(params,"udss",pID,Anzahl,pName, Grund)) return SendClientMessage(playerid, COLOR_RED, "Benutzung: /points [playerid][Anzahl][Lizenzname][Grund]");


    gewöhn dir an die Fehlermeldungen zu returnen, sonst läuft der Code eiskalt weiter

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

    Margarete Stokowski