/su Befehl Bug

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
  • Guten Tag,


    ich habe einen /su Befehl gescriptet der nach dem Schema /su [ID] [Anzahl] [Grund] funktioniert.
    Wenn ich nun beispielsweise eingebe /su 0 1 Test um mir selbst 1 Wanted zu geben sollte eigentlich "Man kann Polizisten keine Wanteds geben." im Chat stehen, stattdessen steht dort aber "Dieser Spieler ist nicht online."
    Wenn ich eingebe /su 0 1 1 (also statt Grund irgendeine Zahl) funktioniert es.
    Ich weiß nicht wo der Fehler liegt, hier der Befehl:
    ocmd:su(playerid,params[])
    {
    if(!IsPlayerMember(playerid,1) || !IsPlayerLeader(playerid,1))return SendClientMessage(playerid,COLOR_RED,"Du bist kein Mitglied vom LVPD.");
    new pID,Anzahl,reason,string[128];
    if(sscanf(params,"uis",pID,Anzahl,reason))return SendClientMessage(playerid,COLOR_GREY,"Benutze: /su [ID] [Anzahl] [Grund]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,COLOR_RED,"Dieser Spieler ist nicht online.");
    if(IsPlayerMember(playerid,1) || IsPlayerLeader(playerid,1))return SendClientMessage(playerid,COLOR_RED,"Man kann Polizisten keine Wanteds geben.");
    SetPlayerWantedLevel(pID,GetPlayerWantedLevel(pID)+Anzahl);
    format(string,sizeof(string),"Du hast dem Spieler %s %i Wanteds gegeben. Grund: %s.",SpielerName(pID),Anzahl,reason);
    format(string,sizeof(string),"Der Polizist %s hat dir %i Wanteds gegeben. Grund: %s.",SpielerName(playerid),Anzahl,reason);
    SendClientMessage(playerid,COLOR_BLUE,string);
    SendClientMessage(pID,COLOR_BLUE,string);
    SaveAccount(pID);
    return 1;
    }
    Ich hoffe jemand weiß woran es liegt.


    Mit freundlichen Grüßen,
    Mr.Cro997

  • du musst auch dein Grund, also reason als string definieren.

    new pID,Anzahl,reason[128],string[128];

    //Edit:
    außerdem formatierst du den string einfach "drüber"
    beiden Spielern wird also

    format(string,sizeof(string),"Der Polizist %s hat dir %i Wanteds gegeben. Grund: %s.",SpielerName(playerid),Anzahl,reason);

    ausgegeben.
    vondaher lass nach deiner ersten formation, dir das formatierte direkt ausgeben


    format(string,sizeof(string),"Du hast dem Spieler %s %i Wanteds gegeben. Grund: %s.",SpielerName(pID),Anzahl,reason);
    SendClientMessage(playerid,COLOR_BLUE,string);
    format(string,sizeof(string),"Der Polizist %s hat dir %i Wanteds gegeben. Grund: %s.",SpielerName(playerid),Anzahl,reason);
    SendClientMessage(pID,COLOR_BLUE,string);

  • if(IsPlayerMember(playerid,1) || IsPlayerLeader(playerid,1))return SendClientMessage(playerid,COLOR_RED,"Man kann Polizisten keine Wanteds geben.");
    zu
    if(IsPlayerMember(pID,1) || IsPlayerLeader(pID,1))return SendClientMessage(playerid,COLOR_RED,"Man kann Polizisten keine Wanteds geben.");

    >> sPa.M << go, go,Bann me, Bann me