/setfrak geht nicht

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 versteh' nicht, warum mein /setfrak Befehl nicht geht.



    ocmd:setfrak(playerid, params[]){
    new pID, frak[64], rank, msg[128], amsg[128];
    if(pData[playerid][pEingeloggt] == 0) return SendClientMessage(playerid, COLOR_ERROR, "[Fehler]{FFFFFF} Du musst eingeloggt sein, um Befehle auszuführen!");
    if(pData[playerid][pAdmin] < 4 || pData[playerid][pAduty] == 0) return SendClientMessage(playerid, COLOR_ERROR, "[Fehler]{FFFFFF} Du hast nicht die nötigen Berechtigungen dazu!");
    if(sscanf(params, "us[64]d", pID, frak, rank)) return SendClientMessage(playerid, COLOR_USING, "[Benutzung]{FFFFFF} /setfrak [ID][Fraktionskürzel][Rank]");
    if(strcmp(frak, "SFPD", true) == 0 && strcmp(frak, "SFSF", true) == 0 && strcmp(frak, "SFES", true) == 0&& strcmp(frak, "SFTR", true) == 0&& strcmp(frak, "NEWS", true) == 0&& strcmp(frak, "RIFA", true) == 0&& strcmp(frak, "BALLAS", true) == 0&& strcmp(frak, "NANG", true) == 0&& strcmp(frak, "TRIADEN", true) == 0) return SendClientMessage(playerid, COLOR_ERROR, "[Fehler]{FFFFFF} Ungültiger Fraktionskürzel!");

    format(amsg, sizeof(amsg), "[AdminCMD] Du hast %s auf Rank %d in der Fraktion %s gesetzt!", GetName(pID),rank ,GetFrakname(frak));
    format(msg, sizeof(msg), "[AdminCMD] %s %s hat dich auf Rank %d in der Fraktion %s gesetzt!",GetAdminRankname(playerid) ,GetName(playerid),rank , GetFrakname(frak));
    SendClientMessage(playerid,COLOR_ADMCMD ,amsg);
    SendClientMessage(pID, COLOR_ADMCMD, msg);
    new savevar = GetFrakID(frak);
    pData[pID][pFraktion] = savevar;
    pData[pID][pRank] = rank;

    switch(savevar) {
    case 1: if(rank == MAX_RANKS_SFPD) pData[pID][pLeader] = 1;
    case 2: if(rank == MAX_RANKS_SFSF) pData[pID][pLeader] = 1;
    case 3: if(rank == MAX_RANKS_SFES) pData[pID][pLeader] = 1;
    case 4: if(rank == MAX_RANKS_SFTR) pData[pID][pLeader] = 1;
    case 5: if(rank == MAX_RANKS_NEWS) pData[pID][pLeader] = 1;
    case 6: if(rank == MAX_RANKS_RIFA) pData[pID][pLeader] = 1;
    case 7: if(rank == MAX_RANKS_BAlLAS) pData[pID][pLeader] = 1;
    case 8: if(rank == MAX_RANKS_NANG) pData[pID][pLeader] = 1;
    case 9: if(rank == MAX_RANKS_TRIADEN) pData[pID][pLeader] = 1;
    }
    SavePlayer(pID);
    return 1;
    }


    stock GetFrakID(frakname[]) {
    new returnfrak;
    if(strcmp(frakname, "SFPD", true) == 1) {
    returnfrak = 1;
    return returnfrak;
    } else if(strcmp(frakname, "SFSF", true) == 1 ) {
    returnfrak = 2;
    return returnfrak;
    } else if(strcmp(frakname, "SFES", true) == 1 ) {
    returnfrak = 3;
    return returnfrak;
    } else if(strcmp(frakname, "SFTR", true) == 1 ) {
    returnfrak = 4;
    return returnfrak;
    } else if(strcmp(frakname, "NEWS", true) == 1 ) {
    returnfrak = 5;
    return returnfrak;
    } else if(strcmp(frakname, "RIFA", true) == 1 ) {
    returnfrak = 6;
    return returnfrak;
    } else if(strcmp(frakname, "BALLAS", true) == 1 ) {
    returnfrak = 7;
    return returnfrak;
    } else if(strcmp(frakname, "NANG", true) == 1 ) {
    returnfrak = 8;
    return returnfrak;
    } else if(strcmp(frakname, "TRIADEN", true) == 1 ) {
    returnfrak = 9;
    return returnfrak;
    } else {
    returnfrak = -1;
    return returnfrak;
    }
    }


    Errors erhalte ich keine. Allerdings kann ich jeden X-Beliebigen Kürzel eingebenm und als NAchricht kommt immer, dass ich X im PD eingestellt habe. Und der Wert welcher dann in der Datei eingetragen wird, variert zwischen 3 und 5.
    Was mach ich falsch?


    LG
    Maydo


    Kostenlose Pawno Alternative / PAWN IDE -> PawnStar
    Mass Effect
    :love: