Premium Shop V1.0

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
  • Das sind ja ganz jut aus für 10 Minuten :).



    Also ich hätte noch folgenden Vorschlag.



    man sollte den /coins befehl rausmachen,und die Coins anzeigen lassen,also mit z.B. unter der Health Anzeige einen Stern(Als Symbol) und nebendran die Anzahl der Coins die man gerade besitzt.Ich hoffe du weißt wie ich das meine



    Grüsse

  • Ich würde des n bissl dynamischer machen ;)
    also dass du aus dem FilterScript sozusagen
    und alles was jetzt nun aufgelistet werden soll
    zb : 1.000.000$ , Premium Bronze, Premium Silber, Premium Gold , blablabla
    Dass man dass im Gamemode dann erstellt ;)


    zb:
    Geld(1000000, 10);
    Premium(Bronze,24,100);
    usw



    "Alles was ich mir an Funktionen drin vorgestellt hab ( bei den 2 Dingen)"
    forward Geld(Summe,PCoints);
    public Geld(Summe, PCoints)
    {
    GivePlayerMoney(playerid, Summe);
    SetPVarInt(playerid,"Coints",GetPVarInt(playerid,"Coints")-PCoints);
    SpeicherPS(playerid);
    return 1;
    }

    "Alles was ich mir an Funktionen drin vorgestellt hab ( bei den 2 Dingen)"
    forward Premium(Was,Wielange,PCoints);
    public Premium(Was,Wielange,PCoints);
    //Was = Bronze,Silber,Gold
    //Wielange = Zahl in Monaten
    {
    new Jahr,Monat,Tag;
    getdate(Jahr,Monat,Tag);
    while(Wielange < 12)
    {
    Jahr+1;
    Wielange-12;
    }
    Monat+Wielange;

    SetPVarInt(playerid,"Coints",GetPVarInt(playerid,"Coints")-PCoints);
    SetPVarInt(playerid,"Tag",Tag);
    SetPVarInt(playerid,"Monat",Monat);
    SetPVarInt(playerid,"Jahr",Jahr);
    SetPVarInt(playerid,"Prem",Was);
    SpeicherPS(playerid);
    return 1;
    }

    &amp;amp;quot;Alles was ich mir an Funktionen drin vorgestellt hab ( bei den 2 Dingen)&amp;amp;quot;
    stock CreatePS(playerid)
    {
    new PSDatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(PSDatei,sizeof(PSDatei),"/ps/%s.ini",name);
    dini_Create(PSDatei);
    dini_IntSet(PSDatei,"Coints",0);
    dini_IntSet(PSDatei,"Tag",0);
    dini_IntSet(PSDatei,"Monat",0);
    dini_IntSet(PSDatei,"Jahr",0);
    dini_IntSet(PSDatei,"Prem",0);

    SetPVarInt(playerid,"Coints",0);
    SetPVarInt(playerid,"Tag",0);
    SetPVarInt(playerid,"Monat",0);
    SetPVarInt(playerid,"Jahr",0);
    SetPVarInt(playerid,"Prem",0);
    return 1;
    }

    &amp;amp;quot;Alles was ich mir an Funktionen drin vorgestellt hab ( bei den 2 Dingen)&amp;amp;quot;
    stock LadePS(playerid)
    {
    new PSDatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(PSDatei,sizeof(PSDatei),"/ps/%s.ini",name);
    SetPVarInt(playerid,"Coints",dini_Int(PSDatei,"Coints"));
    SetPVarInt(playerid,"Tag",dini_Int(PSDatei,"Tag"));
    SetPVarInt(playerid,"Monat",dini_Int(PSDatei,"Monat"));
    SetPVarInt(playerid,"Jahr",dini_Int(PSDatei,"Jahr"));
    SetPVarString(playerid,"Prem",dini_Get(PSDatei,"Prem"));
    return 1;
    }
    stock SpeicherPS(playerid)
    {
    new PSDatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(PSDatei,sizeof(PSDatei),"/ps/%s.ini",name);
    dini_IntSet(PSDatei,"Coints",GetPVarInt(playerid,"Coints"));
    dini_IntSet(PSDatei,"Tag",GetPVarInt(playerid,"Tag"));
    dini_IntSet(PSDatei,"Monat",GetPVarInt(playerid,"Monat"));
    dini_IntSet(PSDatei,"Jahr",GetPVarInt(playerid,"Jahr"));
    dini_IntSet(PSDatei,"Prem",GetPVarInt(playerid,"Prem"));
    return 1;
    }

    &amp;amp;quot;Alles was ich mir an Funktionen drin vorgestellt hab ( bei den 2 Dingen)&amp;amp;quot;
    und dann ist halt die Premabfrage so:
    public showPrem(playerid);
    {
    LadePS(playerid);
    new Prem = GetPVarString(playerid,"Prem");
    if(Prem == "nichts") return 1;
    else return Prem;
    }
    und die Premium Expire Funktion sollte nicht fehlen ;) (Nach dem Login soll das geladen werden [unter SpielerLaden(playerid);])
    public PremExpire(playerid);
    {
    LadePS(playerid);
    new Tag = GetPVarString(playerid,"Tag");
    new Monat = GetPVarString(playerid,"Monat");
    new Jahr = GetPVarString(playerid,"Jahr");

    new aTag,aMonat,aJahr;
    getdate(aJahr,aMonat,aTag);

    if(aTag == Tag && aMonat >= Monat && aJahr >= Jahr)
    {
    SetPVarString(playerid,"Prem","nichts");
    SpeicherPS(playerid);
    return 1;
    }
    return 1;
    }


    &amp;amp;quot;Beispiel&amp;amp;quot;
    #define Dialog_Premium 201
    #define Dialog_Premium_Bronze 202
    #define Dialog_Premium_Silber 203
    #define Dialog_Premium_Gold 204

    &amp;amp;quot;Beispiel&amp;amp;quot;
    ocmd:cshop(playerid,params[])
    {
    ShowPlayerDialog(playerid,DIALOG_SHOP,DIALOG_STYLE_LIST,"Premium Shop","Geld \nPremium","Auswählen","Abbrechen");
    return 1;
    }

    &amp;amp;quot;Beispiel&amp;amp;quot;
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new string[256];
    if(dialogid==DIALOG_SHOP)
    {
    if(response==0)
    {
    SendClientMessage(playerid,ROT,"Du hast den Vorgang abgebrochen.");
    return 1;
    }
    if(response==1)
    {
    switch(listitem)
    {
    case 0:
    {
    ShowPlayerDialog(playerid,DIALOG_PREMIUM,DIALOG_STYLE_LIST,"Premium kaufen","Bronze (1Monat = 1000 Premium Coins)\n Silber(1Monat = 2000 Premium Coins)\n Gold(1Monat = 5000 Premium Coins)","Auswählen","Abbrechen");
    return 1;
    }
    case 1:
    {
    ShowPlayerDialog(playerid, DIALOG_SHOP_GELD, DIALOG_STYLE_LIST, "Geld kaufen", "$100.000 = 10 Premium Coins\n$1.000.000 = 95 Premium Coins\n$10.000.000 = 995 Premium Coins", "Weiter", "Abbrechen");
    return 1;
    }
    }
    return 1;
    }
    }
    if(dialogid==DIALOG_SHOP_GELD)
    {
    if(response==0)
    {
    SendClientMessage(playerid,ROT,"Du hast den Vorgang abgebrochen.");
    return 1;
    }
    if(response==1)
    {
    switch(listitem)
    {
    case 0:
    {
    SendClientMessage(playerid,0,"Du hast dir erfolgreich $100.000 gekauft!");
    Geld(100000,10);
    return 1;
    }
    case 1:
    {
    SendClientMessage(playerid,0,"Du hast dir erfolgreich $1.000.000 gekauft!");
    Geld(1000000,95);
    return 1;
    }
    case 2:
    {
    SendClientMessage(playerid,0,"Du hast dir erfolgreich $10.000.000 gekauft!");
    Geld(10000000,995);
    return 1;
    }
    }
    return 1;
    }
    }
    if(dialogid==DIALOG_PREMIUM)
    {
    if(response==0)
    {
    SendClientMessage(playerid,ROT,"Du hast den Vorgang abgebrochen.");
    return 1;
    }
    if(response==1)
    {
    switch(listitem)
    {
    case 0:
    {
    ShowPlayerDialog(playerid, DIALOG_PREMIUM_BRONZE, DIALOG_STYLE_INPUT, "Bronze-Premium kaufen", "Wieviele Monate möchtest du kaufen\n1 Monat = 1000 Premium Coins", "Weiter", "Abbrechen");
    return 1;
    }
    case 1:
    {
    ShowPlayerDialog(playerid, DIALOG_PREMIUM_SILBER, DIALOG_STYLE_INPUT, "Silber-Premium kaufen", "Wieviele Monate möchtest du kaufen\n1 Monat = 2000 Premium Coins", "Weiter", "Abbrechen");
    return 1;
    }
    case 2:
    {
    ShowPlayerDialog(playerid, DIALOG_PREMIUM_GOLD, DIALOG_STYLE_INPUT, "Gold-Premium kaufen", "Wieviele Monate möchtest du kaufen\n1 Monat = 5000 Premium Coins", "Weiter", "Abbrechen");
    return 1;
    }
    }
    return 1;
    }
    }
    if(dialogid==DIALOG_PREMIUM_BRONZE)
    {
    if(response==0)
    {
    SendClientMessage(playerid,ROT,"Du hast den Vorgang abgebrochen.");
    return 1;
    }
    if(response==1)
    {
    format(string, sizeof(string), "Du hast dir erfolgreich %i Monate Bronze-Premium gekauft!", inputtext);
    SendClientMessage(playerid,0,string);
    Premium("Bronze",inputtext,1000*inputtext);
    return 1;
    }
    }
    if(dialogid==DIALOG_PREMIUM_SILBER)
    {
    if(response==0)
    {
    SendClientMessage(playerid,ROT,"Du hast den Vorgang abgebrochen.");
    return 1;
    }
    if(response==1)
    {
    format(string, sizeof(string), "Du hast dir erfolgreich %i Monate Silber-Premium gekauft!", inputtext);
    SendClientMessage(playerid,0,string);
    Premium("Silber",inputtext,2000*inputtext);
    return 1;
    }
    }
    if(dialogid==DIALOG_PREMIUM_GOLD)
    {
    if(response==0)
    {
    SendClientMessage(playerid,ROT,"Du hast den Vorgang abgebrochen.");
    return 1;
    }
    if(response==1)
    {
    format(string, sizeof(string), "Du hast dir erfolgreich %i Monate Gold-Premium gekauft!", inputtext);
    SendClientMessage(playerid,0,string);
    Premium("Gold",inputtext,5000*inputtext);
    return 1;
    }
    }
    return 1;
    }


    Wenn trotzdem noch was fehlt dann tut es mir leid es ist doch schon ein bisschen spät ;)


    mit freundlichen Grüßen
    ame824

    5 Mal editiert, zuletzt von ame824 ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen