/su Problem

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 habe den Befehl ocmd:su gescripten und der sieht folgender Maßen aus
    ocmd:su(playerid,params[])
    {
    new pID, wan, Grund;
    new string[200];
    if(sscanf(params,"uis", pID, wan, Grund))return SendClientMessage(playerid,COLOR_GRAD2,"Benutze: /su [ID/PartofName] [Wanteds] [Grund]");
    if(SpielerInfo[playerid][pFraktion] == 1 || SpielerInfo[playerid][pFraktion] == 2 || SpielerInfo[playerid][pFraktion] == 3)
    {
    if(IsPlayerConnected(pID))return SendClientMessage(playerid,COLOR_ROT,"Der angegebene Spieler ist nicht online");
    if(SpielerInfo[pID][pFraktion] == 1 || SpielerInfo[pID][pFraktion] == 2 || SpielerInfo[pID][pFraktion] == 3)return SendClientMessage(playerid,COLOR_GRAD2,"Du kanst keinen Beamten anklagen.");
    SetPlayerWantedLevel(pID, wan);
    format(string,sizeof(string),"Du hast %s %i Wanteds gegeben Grund: %s Aktuelles Wantedlevel %i",SpielerName(pID), wan, Grund, GetPlayerWantedLevel(pID));
    SendClientMessage(playerid,COLOR_GRAU,string);
    format(string,sizeof(string),"%s hat dir %i Wanteds gegeben Grund: %s",SpielerName(playerid),wan, Grund);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(SpielerInfo[playerid][pFraktion] == 1 || SpielerInfo[playerid][pFraktion] == 2 || SpielerInfo[playerid][pFraktion] == 3)
    {
    format(string,sizeof(string),"[SUCHE]%s gibt %s %i Wanted(s) Grund: %s Aktuelles Wantedlevel %s",SpielerName(playerid),SpielerName(pID),wan,GetPlayerWantedLevel(pID));
    SendClientMessage(i,COLOR_LILA,string);


    return 1;
    }
    }
    }
    return 1;
    }


    Allerdings gibt es keinen Error nur das es falsch wanteds und so gibt siehe Bild


  • Außerdem fragst du ob, ob der Spieler verbunden ist, wenn ja dann kriegt man die Error Msg.
    Mach lieber: if(!IsPlayerConnected(pID))return .....;
    //Und bei dem Format sendest du keine Nachricht
    format(string,sizeof(string),"%s hat dir %i Wanteds gegeben Grund: %s",SpielerName(playerid),wan, Grund);
    SendClientMessage(pID,farbe,string);


    //Und diese Zeile
    format(string,sizeof(string),"[SUCHE]%s gibt %s %i Wanted(s) Grund: %s Aktuelles Wantedlevel %s",SpielerName(playerid),SpielerName(pID),wan,GetPlayerWantedLevel(pID));
    //zu
    format(string,sizeof(string),"[SUCHE]%s gibt %s %i Wanted(s) Grund: %s Aktuelles Wantedlevel %s",SpielerName(playerid),SpielerName(pID),wan,Grund,GetPlayerWantedLevel(pID));

  • geht doch noch nicht
    ocmd:su(playerid,params[])
    {
    new pID, wan, Grund;
    new string[200];
    if(sscanf(params,"uis", pID, wan, Grund))return SendClientMessage(playerid,COLOR_GRAD2,"Benutze: /su [ID/PartofName] [Wanteds] [Grund]");
    if(SpielerInfo[playerid][pFraktion] == 1 || SpielerInfo[playerid][pFraktion] == 2 || SpielerInfo[playerid][pFraktion] == 3)
    {
    if(IsPlayerConnected(pID))return SendClientMessage(playerid,COLOR_ROT,"Der angegebene Spieler ist nicht online");
    if(SpielerInfo[pID][pFraktion] == 1 || SpielerInfo[pID][pFraktion] == 2 || SpielerInfo[pID][pFraktion] == 3)return SendClientMessage(playerid,COLOR_GRAD2,"Du kanst keinen Beamten anklagen.");
    SetPlayerWantedLevel(pID, GetPlayerWantedLevel(pID)+wan);
    format(string,sizeof(string),"Du hast %s %i Wanteds gegeben Grund: %s Aktuelles Wantedlevel %i",SpielerName(pID), wan, Grund, GetPlayerWantedLevel(pID));
    SendClientMessage(playerid,COLOR_GRAU,string);
    format(string,sizeof(string),"%s hat dir %i Wanteds gegeben Grund: %s",SpielerName(playerid),wan, Grund);
    SendClientMessage(pID,COLOR_WEINROT,string);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(SpielerInfo[playerid][pFraktion] == 1 || SpielerInfo[playerid][pFraktion] == 2 || SpielerInfo[playerid][pFraktion] == 3)
    {
    format(string,sizeof(string),"[SUCHE]%s gibt %s %i Wanted(s) Grund: %s Aktuelles Wantedlevel %s",SpielerName(playerid),SpielerName(pID),wan,Grund,GetPlayerWantedLevel(pID));
    SendClientMessage(i,COLOR_LILA,string);


    return 1;
    }
    }
    }
    return 1;
    }


    Das bild dazu


    Es gibt 101 Wanteds obwohl ich nur 1 Wanted geben wollte