sscanf

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
  • bei spieler ist der spieler "u" oder "i"? ich kenne mich mit sscanf nicht so gut aus...
    weil der Befehl nicht funktioniert
    ocmd:einladen(playerid,params[])
    {
    if(PlayerInfo[playerid][pLeader] > 0)
    {
    new pID;
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,Grau,"Benutzung: /einladen [ID]");
    {
    if(PlayerInfo[pID][pMember] == 0 && PlayerInfo[playerid][pLeader] == 0)
    {
    if(PlayerInfo[pID][pLeader] == 1)
    {
    pInvited[playerid] = 1;
    SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion LSPD bekommen.");
    SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
    SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
    }
    else if(PlayerInfo[playerid][pLeader] == 2)
    {
    SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Feuerwehr bekommen.");
    SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
    SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
    pInvited[pID] = 2;
    }
    else if(PlayerInfo[playerid][pLeader] == 3)
    {
    SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Medic bekommen.");
    SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
    SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
    pInvited[pID] = 3;
    }
    else if(PlayerInfo[playerid][pLeader] == 4)
    {
    SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Ordnungsamt bekommen.");
    SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
    SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
    pInvited[pID] = 4;
    }
    else if(PlayerInfo[playerid][pLeader] == 5)
    {
    SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Spedition bekommen.");
    SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
    SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
    pInvited[pID] = 5;
    }
    else if(PlayerInfo[playerid][pLeader] == 6)
    {
    SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Termis Bratwa bekommen.");
    SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
    SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
    pInvited[pID] = 6;
    }
    else if(PlayerInfo[playerid][pLeader] == 7)
    {
    SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion West Coast Customs bekommen.");
    SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
    SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
    pInvited[pID] = 7;
    }
    else if(PlayerInfo[playerid][pLeader] == 8)
    {
    SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Dillimore Devils bekommen.");
    SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
    SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
    pInvited[pID] = 8;
    }
    else if(PlayerInfo[playerid][pLeader] == 9)
    {
    SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Guerillas bekommen.");
    SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
    SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
    pInvited[pID] = 9;
    }
    }
    }
    }
    return 1;
    }

  • Genauer gesagt steht r für einen Spieler.
    Dieser schließt im Gegensatz zu "u" auch Bots aus.
    Brauchst aber dafür das sscanf Plugin ;)


    LG

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • Wieso verzweigst du auch die sscanf if Abfrage ?
    Das macht doch keine Sinn ?


    LG

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • Des ist logisch das es nicht funktioniert so oft wie du playerid und pID vertauschst^^. Schau nochmal drüber dann wirds dir auffallen erste Abfrage überprüft ob playerid pLeader > 0 ist und in der nächsten muss pLeader == 0 bei playerid sein, also kann es dort schon mal garnicht funktionieren.

  • ocmd:einladen(playerid,params[])
    {
    if(PlayerInfo[playerid][pLeader] > 0)
    {
    new pID;
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,Grau,"Benutzung: /einladen [ID]");
    {
    if(PlayerInfo[pID][pMember] == 0 && PlayerInfo[pID][pLeader] == 0)//pID statt playerid
    {
    if(PlayerInfo[playerid][pLeader] == 1)//playerid statt pID
    {
    pInvited[playerid] = 1;
    SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion LSPD bekommen.");
    SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
    SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
    }
    else if(PlayerInfo[playerid][pLeader] == 2)
    {
    SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Feuerwehr bekommen.");
    SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
    SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
    pInvited[pID] = 2;
    }
    else if(PlayerInfo[playerid][pLeader] == 3)
    {
    SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Medic bekommen.");
    SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
    SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
    pInvited[pID] = 3;
    }
    else if(PlayerInfo[playerid][pLeader] == 4)
    {
    SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Ordnungsamt bekommen.");
    SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
    SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
    pInvited[pID] = 4;
    }
    else if(PlayerInfo[playerid][pLeader] == 5)
    {
    SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Spedition bekommen.");
    SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
    SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
    pInvited[pID] = 5;
    }
    else if(PlayerInfo[playerid][pLeader] == 6)
    {
    SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Termis Bratwa bekommen.");
    SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
    SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
    pInvited[pID] = 6;
    }
    else if(PlayerInfo[playerid][pLeader] == 7)
    {
    SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion West Coast Customs bekommen.");
    SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
    SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
    pInvited[pID] = 7;
    }
    else if(PlayerInfo[playerid][pLeader] == 8)
    {
    SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Dillimore Devils bekommen.");
    SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
    SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
    pInvited[pID] = 8;
    }
    else if(PlayerInfo[playerid][pLeader] == 9)
    {
    SendClientMessage(pID,Blau,"Du hast eine einladung für die Fraktion Guerillas bekommen.");
    SendClientMessage(pID,Grün,"Nehme sie an mit /annehmen");
    SendClientMessage(playerid,Grün,"Du hast den Spieler erfolgreich eingeladen.");
    pInvited[pID] = 9;
    }
    }
    }
    }
    return 1;
    }