Premium System erstellen, eigene Befehle

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
  • Hui Community,
    ich will euch zeigen wie man ein simples Premium System macht (es wird nicht abgespeichert!)


    Also, erstellen wir erstmal die Variable

    new hatpremium[MAX_PLAYERS];
    Gut, jetzt springen wir direkt zum Befehl über
    if (strcmp(cmd, "/buypremium", true) == 0) //die Befehlseingabe
    {
    if(hatpremium[playerid] == 0) //Wenn der User keinen Premium Account hat, wobei die 0 für nicht steht also auch für false
    {
    hatpremium[playerid] += 1; //jetzt wird bei der Variable 1 dazugezählt, der User ist nun Premium User
    SendClientMessage(playerid, farbcode/*der Farbcode muss ausgetauscht werden sonst errors!*/, "Herzlichen Glückwunsch! Du bist nun premium user!");
    }
    else if(hatpremium[playerid] == 1) //Jedoch wenn der Spieler schon premium User ist, 1 = true also korrekt übersetzt, wenn(hatpremium[spieler] == richtig)
    {
    SendClientMessage(playerid,farbecode, "Du bist bereits premium user"); //Sendet ihm eine Nachricht das er schon ein premium user ist
    }
    return 1; //return 1 heißt soviel das der Befehl erfolgreich beendet wurde oder so :D
    }
    Gut, jetzt können wir gleich einen eigenen Befehl machen!

    if(!strcmp(strget(cmdtext,0),"/kill")) //Wenn er /kill eingibt
    {
    if(hatpremium[playerid]] !=1) // wenn er kein Premium User ist, das ! steht für nicht also wird bei z.b. != 1 die 1 zu 0
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Premium User!"); //Sendet ihm eine Nachricht
    }
    else //jedoch wenn er Premium user ist, else = adj. sonst, ansonsten, anders /conj. andernfalls; außerdem
    {
    SetPlayerHealth(playerid,0); //killt den Premium User
    }
    return 1;
    } Super ist doch eigentlich einfach mit der Abfrage


    Und jetzt seid ihr fertig :D


    Is doch easy oder?


    MfG


    zombie.modder

    Zitat

    Nimm die Dinge wie sie sind: schlag, wenn du schlagen musst, tritt, wenn du Treten musst
    -Bruce Lee

    Einmal editiert, zuletzt von zombie.modder ()

  • Ist ja eig. einfach aber gut für anfänger :thumbup:


  • if (strcmp(cmd, "/buypremium", true) == 0) //die Befehlseingabe
    {
    if(GetPlayerMoney(playerid) < 5000000)
    {
    SendClientMessage(playerid, farbcode, "Du hast dafür nicht genügend Geld (5 Mio)!");
    return 1;
    }
    if(hatpremium[playerid] == 0) //Wenn der User keinen Premium Account hat, wobei die 0 für nicht steht also auch für false
    {
    hatpremium[playerid] += 1; //jetzt wird bei der Variable 1 dazugezählt, der User ist nun Premium User
    SendClientMessage(playerid, farbcode/*der Farbcode muss ausgetauscht werden sonst errors!*/, "Herzlichen Glückwunsch! Du bist nun premium user!");
    GivePlayerMoney(playerid, -5000000);
    }
    else if(hatpremium[playerid] == 1) //Jedoch wenn der Spieler schon premium User ist, 1 = true also korrekt übersetzt, wenn(hatpremium[spieler] == richtig)
    {
    SendClientMessage(playerid,farbecode, "Du bist bereits premium user"); //Sendet ihm eine Nachricht das er schon ein premium user ist
    }
    return 1; //return 1 heißt soviel das der Befehl erfolgreich beendet wurde oder so :D
    }


    So denke ich mal

    Zitat

    Nimm die Dinge wie sie sind: schlag, wenn du schlagen musst, tritt, wenn du Treten musst
    -Bruce Lee

  • Zombie wie du das gemacht hast macht ers wenn du 5 millionen hast wen dann so



    if (strcmp(cmd, "/buypremium", true) == 0) //die Befehlseingabe
    {
    if(5000000 <= GetPlayerMoney(playerid))
    {
    if(hatpremium[playerid] == 0) //Wenn der User keinen Premium Account hat, wobei die 0 für nicht steht also auch für false
    {
    hatpremium[playerid] += 1; //jetzt wird bei der Variable 1 dazugezählt, der User ist nun Premium User
    SendClientMessage(playerid, farbcode/*der Farbcode muss ausgetauscht werden sonst errors!*/, "Herzlichen Glückwunsch! Du bist nun premium user!");
    GivePlayerMoney(playerid, -5000000);
    }
    else if(hatpremium[playerid] == 1) //Jedoch wenn der Spieler schon premium User ist, 1 = true also korrekt übersetzt, wenn(hatpremium[spieler] == richtig)
    {
    SendClientMessage(playerid,farbecode, "Du bist bereits premium user"); //Sendet ihm eine Nachricht das er schon ein premium user ist
    }
    }
    else
    {
    SendClientmessage(playerid,COLOR_RED,"Du besitzt keine 5000000");
    }
    return 1; //return 1 heißt soviel das der Befehl erfolgreich beendet wurde oder so :D
    }

    RFT

    Einmal editiert, zuletzt von RFT ()

  • In der 5. Zeile, würde ich nicht += 1 sondern : = 1, denn falls man 2x /buy premium eingibt, ( was eig. nicht geht ) ist es trd. sicherer dass es dann immer bei "hatPremium = 1 " bleibt . :))