Fehler beim Ticket ausstellen

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
  • Hey Leute,


    Leider finde ich hier den fehler nicht :(
    Also , ich möchte mir (als Test) ein ticket ausstellen , dies mache ich mit /sz [meine id] 300 Test
    aber wen ich diesen mit enter bestätige kommt nur die Fehler meldung das die angegebe Person nicht online wäre O.o was ich nicht so ganz verstehe.
    Ich hoffe das mir jemand helfen kann.



    ocmd:sz(playerid,params[])
    {
    new pID,tpreis,grund;
    if(IsPlayerInFrakt(playerid,1)||IsPlayerInFrakt(playerid,6)||IsPlayerInFrakt(playerid,11))
    {
    new Float:xc,Float:yc,Float:zc;
    if(sscanf(params,"uis",pID,tpreis,grund))return ErrorMsg(playerid,"INFO: /sz [SpielerID] [Betrag] [Grund]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid, COLOR_GRAD2, "Dieser Spieler ist Offline!");
    {
    if(SpielerInfo[pID][Eingeloggt]==1)
    {
    GetPlayerPos(playerid,xc,yc,zc);
    if(!IsPlayerInRangeOfPoint(pID,15,xc,yc,zc))return SendClientMessage(playerid,COLOR_WHITE,"Spieler ist nicht in deiner Nähe.");
    ticketpreis[pID]=tpreis;
    ticketverkaufer[pID]=playerid;


    format(string,sizeof(string),"Staatsbeamter %s gibt dir ein Strafzettel in höhe von %d€! Grund: %s",SpielerName(playerid),tpreis,grund);
    SendClientMessage(pID,COLOR_LIGHTBLUE,string);
    SendClientMessage(pID,COLOR_LIGHTBLUE,"Gib /accept ticket ein, um den Strafzettel anzunehmen.");
    format(string,sizeof(string),"Strafzettel ausgestellt an: %s | Kosten: %d€ | Grund: %s ",SpielerName(pID),tpreis,grund);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    return 1;
    }
    return SendClientMessage(playerid,COLOR_WHITE,"Spieler ist nicht eingeloggt.");
    }
    }
    return 1;
    }


    MfG


    Mr.ExiLe


  • if(!IsPlayerConnected(pID))return SendClientMessage(playerid, COLOR_GRAD2, "Dieser Spieler ist Offline!");
    {

    Wenn du , falls der spieler ausgeloggt ist, und du die Message returnst, Darfst du KEINE klammern setzen,
    Was anderes fällt mir nicht auf.

    Also das höre ich jetzt zum erstenmal , und in der Praxis hat es dabei nie Probleme gegeben.
    Deshalb bezweilfe ich das dies eine Ursache des Fehlers wäre, trotzdem danke für deine Antowrt.

  • ocmd:sz(playerid,params[])
    {
    new pID,tpreis,grund[128],Float:p[3];
    if(sscanf(params,"uis[128]",pID,tpreis,grund))return ErrorMsg(playerid,"INFO: /sz [SpielerID] [Betrag] [Grund]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid, COLOR_GRAD2, "Dieser Spieler ist Offline!");
    if(SpielerInfo[pID][Eingeloggt]!=1)return SendClientMessage(playerid, -1, " Der Spieler ist nicht eingeloggt");
    GetPlayerPos(playerid,p[0],p[1],p[2]);
    if(!IsPlayerInRangeOfPoint(pID,15,p[0],p[1],p[2]))return SendClientMessage(playerid,COLOR_WHITE,"Spieler ist nicht in deiner Nähe.");
    ticketpreis[pID]=tpreis;
    ticketverkaufer[pID]=playerid;
    format(string,sizeof(string),"Staatsbeamter %s gibt dir ein Strafzettel in höhe von %d €! Grund: %s",SpielerName(playerid),tpreis,grund);
    SendClientMessage(pID,COLOR_LIGHTBLUE,string);
    SendClientMessage(pID,COLOR_LIGHTBLUE,"Gib /accept ticket ein, um den Strafzettel anzunehmen.");
    format(string,sizeof(string),"Strafzettel ausgestellt an: %s | Kosten: %d € | Grund: %s ",SpielerName(pID),tpreis,grund);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    return 1;
    }
    Probier das mal

  • Vielen dank , das Funktioniert , aber trotzdem verstehe ich den Fehler nicht?!
    Lag es wirklich an den Klammern?

  • Wahrscheinlich.
    Mir fällt gerade auf, dass noch die Fraktionsabfrage fällt. Musst die noch reinmachen, aber diesmal mit einem ! davor.
    if(!isPlayer..,dann kannste ganz einfach return SendClie..dahinterschreiben