Wo soll die If Abfrage den hin?

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!
    Es wird mir sofern ich ein normaler Spieler bin (bzw. kein Cop) und /ticket accept mache gesagt ich wäre kein Cop.
    (NichtBefugt = Du bist dazu nicht befugt.)






    ocmd:ticket(playerid, params[])
    {
    new Funktion[64];
    if(strcmp(Funktion,"ausstellen",true) == 0)
    {
    if(SpielerInfo[playerid][sFraktion] == 1 || SpielerInfo[playerid][sFraktion] == 2)//SAPD + Military
    {
    new pID, tPreis, Reason[64];
    if(sscanf(params,"uis",pID,tPreis,Reason)) return SendClientMessage(playerid,COLOR_HINWEIS,"Benutze: /ticket ausstellen [SpielerID] [Preis] [Grund]");
    {
    if(IsPlayerConnected(pID))
    {
    new string[128];
    format(string,sizeof(string),"Officer %s hat dir ein Ticket in höhe von $%d ausgestellt.",SpielerName(playerid),tPreis);
    SendClientMessage(pID,COLOR_BLUE,string);
    format(string,sizeof(string),"Grund: %s - Benutze /ticket accept um es zu zahlen.",Reason);
    SendClientMessage(pID,COLOR_BLUE,string);
    format(string,sizeof(string),"Du hast dem Spieler %s ein Ticket von $%d ausgestellt.",SpielerName(pID),tPreis);
    SendClientMessage(playerid,COLOR_BLUE,string);
    format(string,sizeof(string),"Grund: %s - Warte bis der Spieler das Ticket bezahlt.",Reason);
    SendClientMessage(playerid,COLOR_BLUE,string);
    format(string,sizeof(string),"Officer %s hat dem Spieler %s ein Ticket ausgestellt."); // Frei lassen vorerst
    SendCopMessage(string);
    SetPVarInt(pID,"TicketPreis",tPreis);
    }
    else NichtOnline
    return 1;
    }
    }
    else NichtBefugt
    return 1;
    }
    else if(strcmp(Funktion,"accept",true) == 0)
    {
    if(GetPVarInt(playerid,"TicketPreis") >= 1)
    {
    new string[128];
    format(string,sizeof(string),"Der Spieler %s hat sein Ticket bezahlt.",SpielerName(playerid));
    SendCopMessage(string);
    new tPreis = GetPVarInt(playerid,"TicketPreis");
    GivePlayerMoney(playerid,-tPreis);
    format(string,sizeof(string),"Du hast dein Ticket in höhe von %s gezahlt.",tPreis);
    SendClientMessage(playerid,COLOR_BLUE,string);
    DeletePVar(playerid, "TicketPreis");
    return 1;
    }
    else SendClientMessage(playerid,COLOR_GREY,"Dir wurde kein Ticket ausgestellt.");
    return 1;
    }
    return 1;
    }

  • Ich will das ein Spielr /ticket accept machen kann. Auch wenn er kein Cop ist.


    Kann man doch schon.

  • Mich wunderts gerade, dass da überhaupt was passiert :rolleyes:


    Schreibe das mal so:


    ocmd:ticket(playerid, params[])
    {
    if(!strcmp(params,"ausstellen",true))
    {
    if(SpielerInfo[playerid][sFraktion] == 1 || SpielerInfo[playerid][sFraktion] == 2)//SAPD + Military
    {
    new pID, tPreis, Reason[64];
    if(sscanf(params,"uis",pID,tPreis,Reason)) return SendClientMessage(playerid,COLOR_HINWEIS,"Benutze: /ticket ausstellen [SpielerID] [Preis] [Grund]");
    if(!IsPlayerConnected(pID)) return NichtOnline
    new string[128];
    format(string,sizeof(string),"Officer %s hat dir ein Ticket in höhe von $%d ausgestellt.",SpielerName(playerid),tPreis);
    SendClientMessage(pID,COLOR_BLUE,string);
    format(string,sizeof(string),"Grund: %s - Benutze /ticket accept um es zu zahlen.",Reason);
    SendClientMessage(pID,COLOR_BLUE,string);
    format(string,sizeof(string),"Du hast dem Spieler %s ein Ticket von $%d ausgestellt.",SpielerName(pID),tPreis);
    SendClientMessage(playerid,COLOR_BLUE,string);
    format(string,sizeof(string),"Grund: %s - Warte bis der Spieler das Ticket bezahlt.",Reason);
    SendClientMessage(playerid,COLOR_BLUE,string);
    format(string,sizeof(string),"Officer %s hat dem Spieler %s ein Ticket ausgestellt."); // Frei lassen vorerst
    SendCopMessage(string);
    SetPVarInt(pID,"TicketPreis",tPreis);
    }
    else NichtBefugt
    }
    else if(!strcmp(params,"accept",true))
    {
    if(GetPVarInt(playerid,"TicketPreis") < 1) return SendClientMessage(playerid,COLOR_GREY,"Dir wurde kein Ticket ausgestellt.");
    new string[128];
    format(string,sizeof(string),"Der Spieler %s hat sein Ticket bezahlt.",SpielerName(playerid));
    SendCopMessage(string);
    new tPreis = GetPVarInt(playerid,"TicketPreis");
    GivePlayerMoney(playerid,-tPreis);
    format(string,sizeof(string),"Du hast dein Ticket in höhe von %s gezahlt.",tPreis);
    SendClientMessage(playerid,COLOR_BLUE,string);
    DeletePVar(playerid, "TicketPreis");
    }
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S