[SUCHE] Banksystem mit dcmd..

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,


    Kann mir einer ein Banksystem machen/zeigen mit dcmd und so also kein strok...
    und das auch das Geld gespeichert wird in ein ini ordner oder so..


    Danke


    MFg Rapfabrik

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

  • wenn du Banksysteme mit strok kennst, warum schreibst du sie nicht einfach auf dcmd um?

    Ich kann beides nicht richtig..
    also wenn ich das könnte dann würde ich schon Admin system und und und machen..
    weil ich dann ein beispiel vor mir habe und so..
    und wenn es einer machen kann was ich bezweifele ( weil ich schon 3 tagen hier im Forum nachfrage )
    dann wäre es echt cool und gleich ein Tutorial wäre am besten..


    aber naja mal schon ob sich noch jemand meldet..


    MFg


    Edit:// nur so neben bei benutze kein GF oder so.. wäääh.. ne ne auf keinen fall ;)

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

    3 Mal editiert, zuletzt von Rapfabrik ()

  • Lern doch erst scripten, bevor du scriptest?(Ich weiß unlogischer Satz aber trotzdem)

  • Scripten kann ich ja einiger massen schon!!!
    Aber Banksystem da braucht man halt bisschen mehr erfahrung und wenn ich halt so ien beispiel habe lerne ich es schneller ;)

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

    Einmal editiert, zuletzt von Rapfabrik ()

  • warum eig. dcmd, dcmd ist auch nicht schneller als Strtok und Normal cmd

    Ich zitiere:


    Vorteile:
    * Command ist viel besser strukturiert und besser lesbar
    * CPU schonender als strtok oder strget (Code wird schneller ausgeführt durch CPU->Kann laggs vermindern)
    * Bessere Gesamtstruktur des Scriptes (Es ist möglich die Commands in einem extra include aufzubewahren)
    * DCMD enthält einen Filter (Command muss exakt eingegeben werden)


    habe schon par Sachen damit gemacht und mir hat es persönlich gefallen :)
    naja wenn es keiner mit DCMD kennt dann wäre ich es auch mit strtok zufrieden und könnte es dann später umschreiben!

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

  • "Kann Laggs verhindern"


    Allgemein geht es eig. nur um die Strukturierung, wenn man seine cmd's richtig Ordnet
    dann kommt man auch nicht durcheinander, naja egal jedem selbst überlassen ^^

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Kann zwar nur Lags verindern, aber schont auf jeden Fall die CPU, besonders in Verbindung mit sscanf.
    Ich habe beides ausprobiert und konnte damit nur Positives merken, was Lags und CPU Belastung angeht. Außerdem ist es in Verbindung mit sscanf auf jeden Fall einfacher in der Erweiterung, sowie Erstellung.
    Das wird jeder merken, der damit arbeitet... Für mich auf jeden Fall die bessere und schnellere Alternative zum ressourcenziehenden strtok.


    EDIT: Zurück zu der Frage: Was ist an einem Banksystem so schwer wenn man schon Erfahrung mit dem Scripten hat? Speicher in deinem .ini File oder deine Datenbank (ich weiß nciht was oder ob du überhaupt schon Werte speicherst) einfach Variablen für den Spieler und setze die entsprechend bei /deposit und /withdraw. Wie du Daten speicherst, findest du in diesem Forum mehr als genug...


    // Sagen wir du arbeitest mit PlayerInfo[playerid][pBank] für den Kontostand deines Spielers
    dcmd_deposit(playerid,params[])
    {
    new
    string[50],
    amount;
    if(sscanf(params,"d",amount))
    {
    // Falsche Eingabe
    }
    else if(amount < 0 || amount > GetPlayerMoney(playerid))
    {
    // Falsche Geldmenge, zu groß oder zu klein
    }
    else
    {
    GivePlayerMoney(playerid,-amount);
    PlayerInfo[playerid][pBank] += amount;
    format(string,sizeof(string),"Du hast $%d auf dein Bankkonto eingezahlt",amount);
    SendClientMessage(playerid,FARBE,string);
    }
    return 1;
    }


    dcmd_withdraw(playerid,params[])
    {
    new
    string[50],
    amount;
    if(sscanf(params,"d",amount))
    {
    // Falsche Eingabe
    }
    else if(amount < 0 || amount > PlayerInfo[playerid][pBank])
    {
    // Falsche Geldmenge, zu groß oder zu klein
    }
    else
    {
    GivePlayerMoney(playerid,amount);
    PlayerInfo[playerid][pBank] -= amount;
    format(string,sizeof(string),"Du hast $%d von deinem Bankkonto abgehoben",amount);
    SendClientMessage(playerid,FARBE,string);
    }
    return 1;
    }


    sscanf findest du hier