[FRAGE]Personalausweis kaufen

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 Abend liebe Breadfisher,


    ich habe in meinem Arbeitsamt einen Checkpoint gesetzt und habe ein Befehl zum Persokaufen erstellt.
    Nun, alles klappt, aber wenn ich es kaufe, kann man es immer kaufen, wie kann man es so einstellen,
    dass man es nur 1 mal kaufen kann und dann eine Meldung kommt, das er schon einen Personalausweis besitzt.


    Hier mal mein Text:


    if(strcmp(cmdtext,"/personalausweis",true)==0)
    {
    SetPVarInt(playerid,"Personalausweis",1);
    GivePlayerMoney(playerid,-175);
    SendClientMessage(playerid,GRUEN,"Du hast dir ein Personalausweis gekauft!");
    GameTextForPlayer(playerid,"~r~-175$",3000,1);
    }
    else if(GetPVarInt(playerid,"Personalausweis",1);
    {
    Was muss hier rein? Damit eine Fehlermeldung kommt, dass er schon ein Perso hat?
    }


    LG
    CopyRight


  • if(strcmp(cmdtext,"/personalausweis",true)==0)
    {
    if(GetPVarInt(playerid,"Personalausweis") == 0)
    {
    SetPVarInt(playerid,"Personalausweis",1);
    GivePlayerMoney(playerid,-175);
    SendClientMessage(playerid,GRUEN,"Du hast dir ein Personalausweis gekauft!");
    GameTextForPlayer(playerid,"~r~-175$",3000,1);
    }
    else SendClientMessage(playerid, GRUEN, "Du hast bereits einen Personalausweis.");
    }


    Mit freundl. Grüßen
    Padarom

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • if (strcmp("/persokaufen", cmd, true) == 0)
    {
    if(PlayerInfo[playerid][pOwnPerso] == 1)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast bereits einen Personalsausweis!");
    return 1;
    }
    if(PlayerToPoint(4.0,playerid,X,Y,Z)) //Cordis einfügen
    {
    if(AllowPerso[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_NEWS, "Herzlichen Glühstrumpf Perso yo.");
    GivePlayerMoney(playerid,-175);
    PlayerInfo[playerid][pOwnPerso] = 1;
    TogglePlayerControllable(playerid, 1);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE, "Du bist nicht in der Stadthalle!");
    return 1;
    }
    }
    return 1;
    }

  • Ich würde es so machen ;)


    if(strcmp(cmdtext,"/personalausweis",true)==0)
    {
    if(GetPVarInt(playerid,"Personalausweis") == 1) return SendClientMessage(playerid, GRUEN, "Du hast bereits einen Personalausweis.");
    if(!HatSpielerGeld(playerid,175)) return SendClientMessage(playerid,GRUEN,"Du hast nicht genug Geld! [$175]");
    {
    SetPVarInt(playerid,"Personalausweis",1);
    SendClientMessage(playerid,GRUEN,"Du hast dir ein Personalausweis gekauft!");
    GameTextForPlayer(playerid,"~r~-175$",3000,1);
    }
    return 1;
    }


    // Irgendwo ganz unten einfügen (in kein Public!)
    stock HatSpielerGeld(playerid,summe)
    {
    if(GetPlayerMoney(playerid) >= summe)
    {
    GivePlayerMoney(playerid, -summe);
    return 1;
    }
    return 0;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ja, hier oben hast du genug Beispiele ;)


    mit GetPVarInt fragst du etwas ab


    if(GetPVarInt(playerid,"varname") == X)) //wenn das Var den Wert XX ist soll blabla passieren
    {
    /* Anweisungen */
    }
    else // Wenn nicht, dann soll etwas andares passieren
    {
    /* z.B. du hast nein Ausweis*/
    }

  • Soweit klappt alles gut, aber wenn ich nun meine Stats ausrufen möchte, will ich
    das er dafür einen Personalausweis brauch, aber es funktioniert nicht. =(


    Ich habe mein Code so hier:


    if (strcmp("/stats", cmdtext, true, 10) == 0)
    {
    if(GetPVarInt(playerid,"Personalausweis") == 1) return SendClientMessage(playerid,ROT, "Du besitzt kein Personalausweis, du kannst dir eins beim Arbeitsamt beantragen!");
    {
    ShowStats(playerid,playerid);
    }
    return 1;
    }


    Danke im vorraus!


    LG
    CopyRight

  • if (strcmp("/stats", cmdtext, true, 10) == 0)
    {
    if(GetPVarInt(playerid,"Personalausweis") == 0) return SendClientMessage(playerid,ROT, "Du besitzt kein Personalausweis, du kannst dir eins beim Arbeitsamt beantragen!");
    {
    ShowStats(playerid,playerid);
    }
    return 1;
    }

  • if (strcmp("/stats", cmdtext, true, 10) == 0)
    {
    if(GetPVarInt(playerid,"Personalausweis") == 1)
    {
    ShowStats(playerid,playerid);
    }
    else
    {
    SendClientMessage(playerid,ROT, "Du besitzt kein Personalausweis, du kannst dir eins beim Arbeitsamt beantragen!");
    }
    return 1;
    }