Was ist hier falsch? (suspect Command)

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 liebe Community,


    leider weiß ich nicht was hier falsch ist, deswegen habe ich gehofft ihr könntet mir weiterhelfen.



    Hier der Code:
    dcmd_suspect(playerid,params[])
    {
    if(IsPlayerConnected(playerid))
    {
    new pID, points, text[128], string[128];
    if(!isFraktion(playerid,5))return SendClientMessage(playerid,Rot,"Du bist nicht in der Fraktion, Polizei von San Andreas!");
    if(sscanf(params,"uis",pID,points,text))
    {
    SendClientMessage(playerid, Rot, "INFO: (/su)spect [playerid] [Wanteds(1-6)] [Anklage]");
    return 1;
    }
    if(isFraktion(pID,5))return SendClientMessage(playerid,Rot,"Du kannst keinem Polizisten Wanteds geben!");
    if(IsPlayerConnected(pID))
    {
    if(pID != INVALID_PLAYER_ID)
    {
    new sendername[32];
    if(GetPlayerWantedLevel(pID) >= 100)
    {
    format(string,sizeof(string),"Der Spieler %s hat schon 100 Wanteds.",GetName(pID));
    return SendClientMessage(playerid,Rot,string);
    }
    if(points > 6)return SendClientMessage(playerid,Rot,"Maximal nur 6 Wanteds vergebbar!");
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(isFraktion(i,5))
    {
    format(string, sizeof(string), "**%s hat %s[%i] %i Wanted(s) wegen %s gegeben.", GetName(playerid), GetName(pID), pID,points,text);
    SendClientMessage(i, Blau, string);
    return 1;
    }
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new turnmes[128];
    format(turnmes, sizeof(turnmes), "Du hast %i Wanted(s) wegen ( %s ) vom Beamten %s erhalten.",points,text,sendername);
    SendClientMessage(pID, Rot, turnmes);
    SetPlayerCriminal(pID,playerid,points,text);
    }
    return 1;
    }
    return SendClientMessage(playerid,Rot,"Dieser Spieler wurde nicht gefunden!");
    }
    return 1;
    }


    public SetPlayerCriminal(playerid,declare,points,reason[])
    {
    if(IsPlayerConnected(playerid))
    {
    if(isFraktion(playerid,5))return 1;
    sInfo[playerid][crimes] += 1;
    SetPlayerWantedLevel(playerid,GetPlayerWantedLevel(playerid)+points);
    if(GetPlayerWantedLevel(playerid) > 24) SetPlayerWantedLevel(playerid, 24);
    }
    return 1;
    }


    Mit freundlichen Grüßen,
    DexterA1

  • if(sscanf(params,"uis",pID,points,text))
    {
    SendClientMessage(playerid, Rot, "INFO: (/su)spect [playerid] [Wanteds(1-6)] [Anklage]");
    return 1;
    }


    Erst einmal schreib das so:
    if(sscanf(params,"uis",pID,points,text)) return SendClientMessage(playerid, Rot, "INFO: (/su)spect [playerid] [Wanteds(1-6)] [Anklage]");


    Was funktioniert denn nicht?


  • for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(isFraktion(i,5))
    {
    format(string, sizeof(string), "**%s hat %s[%i] %i Wanted(s) wegen %s gegeben.", GetName(playerid), GetName(pID), pID,points,text);
    SendClientMessage(i, Blau, string);
    return 1;
    }
    return 1;
    }

    return in einer Schleife ist ja auch nicht gut, nimm sie raus!


    //edit und den String brauchste auch nur einmal formatieren:

    format(string, sizeof(string), "**%s hat %s[%i] %i Wanted(s) wegen %s gegeben.", GetName(playerid), GetName(pID), pID,points,text);
    for(new i=0; i<MAX_PLAYERS; i++)
    {