Feher bei Abfrage

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
  • Nabend zusammen


    Ich habe gerade ein Problem, das sich nicht lösen lassen will.
    Es geht um den Command:
    bcmd:kick(playerid,params[])
    {
    new bool:hmm=false;
    if(playerid==-1)
    {
    hmm=true;
    goto da;
    }
    if(!CheckAdmin(playerid,1))
    return ADMError(playerid,1);
    da:
    new pID,string[128];
    if(sscanf(params,"uz",pID,string))
    return SendClientMessage(playerid,cRed,"/kick [playerid] ([grund],optional)");
    if(!IsPlayerConnected(pID))
    return SendClientMessage(playerid,cRed,"Die ID kann nicht gefunden werden");
    format(string,sizeof(string),"[AdmCMD] %s wurde von %s gekickt. "ccOrange"Grund: %s",PlayerInfo[pID][Name], hmm?BotName:PlayerInfo[playerid][Name], string[0]?string:"<Kein Grund>");//Fehler?
    SendClientMessageToAll(cRed,string);
    Kick(pID);
    return 1;
    }
    Seit dem ich eine Abfrage gemacht habe ob der user die id -1 hat (-1 = Anticheat) will er nicht so recht wie es soll.
    Der Fehler ist der:
    expected token: "-string end-", but found "-identifier-"
    Ich habe mal das weggelassen:
    hmm?BotName:PlayerInfo[playerid][Name]
    Dann ging auch alles, nur die Abfrage bewirkt ja ob es vom Anticheat gesendet wird oder nicht, da ich ja auch den Namen mitsenden möchte wenn es -1 ist.


    Wo soll da ein Fehler sein?
    Ich such schon verzweifelt aber ich kann nichts finden, daher hoffe ich auf rat von euch
    //nachtrag
    Wenn ich das so mache:
    bcmd:kick(playerid,params[])
    {
    new bool:hmm=false;
    if(playerid==-1)
    {
    hmm=true;
    goto da;
    }
    if(!CheckAdmin(playerid,1))
    return ADMError(playerid,1);
    da:
    new pID,string[128];
    if(sscanf(params,"uz",pID,string))
    return SendClientMessage(playerid,cRed,"/kick [playerid] ([grund],optional)");
    if(!IsPlayerConnected(pID))
    return SendClientMessage(playerid,cRed,"Die ID kann nicht gefunden werden");
    format(string,sizeof(string),"[AdmCMD] %s wurde von %s gekickt. "ccOrange"Grund: %s",PlayerInfo[pID][Name], (hmm)?(BotName):(PlayerInfo[playerid][Name]), (string[0])?(string):("<Kein Grund>"));//Fehler?
    SendClientMessageToAll(cRed,string);
    Kick(pID);
    return 1;
    }
    schmiert mir der Compiler ab
    Ich hab echt keine Ahnung wo der Wurm sitzt

    All in all it's just another brick in the wall

    Einmal editiert, zuletzt von Beavis ()

  • Probier es mal so:

    bcmd:kick(playerid,params[])
    {
    new bool:hmm=false;
    if(playerid==-1)
    {
    hmm=true;
    goto da;
    }
    if(!CheckAdmin(playerid,1))
    return ADMError(playerid,1);
    da:
    new pID,string[128];
    if(sscanf(params,"uz",pID,string))
    return SendClientMessage(playerid,cRed,"/kick [playerid] ([grund],optional)");
    if(!IsPlayerConnected(pID))
    return SendClientMessage(playerid,cRed,"Die ID kann nicht gefunden werden");
    new
    kein_grund[14];
    format(kein_grund,sizeof kein_grund,"<Kein Grund>");
    format(string,sizeof(string),"[AdmCMD] %s wurde von %s gekickt. "ccOrange"Grund: %s",PlayerInfo[pID][Name], hmm?BotName:PlayerInfo[playerid][Name], string[0]?string:kein_grund);//Fehler?
    SendClientMessageToAll(cRed,string);
    Kick(pID);
    return 1;
    }


    Außerdem glaube ich nicht, dass du es so benutzen kannst:

    string[0]?


    Da dies kein bool ist.
    Naja probieren geht über studieren :D