BANk register

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
  • was ist falsch am bankregister warum gehen die commands nicht? (/bankregister PW geht nicht und /banklogin auch nicht...




    #include <a_samp>
    #include <dutils>
    #include <dudb>
    #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
    #define COLOR_SYSTEM 0xEFEFF7AA
    #define MAX_TRIES 3
    #define COLOR_RED 0xFF0000FF
    #define COLOR_BLUE 0xFF0AAAFF


    new PLAYERLIST_authed[MAX_PLAYERS];
    new tries[MAX_PLAYERS];
    public OnFilterScriptInit()
    {
    print("\n==========================================");
    print(" Bank RegisterSystem ");
    print("\n==========================================");
    }
    stock SystemMsg(playerid,msg[]) {
    if ((IsPlayerConnected(playerid))&&(strlen(msg)>0)) {
    SendClientMessage(playerid,COLOR_SYSTEM,msg);
    }
    return 1;
    }
    stock PlayerName(playerid) {
    new name[255];
    GetPlayerName(playerid, name, 255);
    return name;
    }
    dcmd_bankregister(playerid,params[]) {
    if (PLAYERLIST_authed[playerid]) return SystemMsg(playerid,"deine bank ist schon eongeloggt.");
    if (udb_Exists(PlayerName(playerid))) return SystemMsg(playerid,"Bankaccount existiert schon '/banklogin password'.");
    if (strlen(params)==0) return SystemMsg(playerid,"Correct Usage: '/bankregister password'");
    if (udb_Create(PlayerName(playerid),params)) return SystemMsg(playerid,"Bankaccount erstellt um einzuloggen '/banklogin password' now.");
    return true;
    }

    dcmd_banklogin(playerid,params[]) {
    if (PLAYERLIST_authed[playerid]) return SystemMsg(playerid,"Deine bank ist schon eingeloggt.");
    if (!udb_Exists(PlayerName(playerid))) return SystemMsg(playerid,"Bankaccount existiert nicht '/bankregister password'.");
    if (strlen(params)==0) return SystemMsg(playerid,"Mache '/banklogin password'");
    if (udb_CheckLogin(PlayerName(playerid),params)) {
    // Status
    GivePlayerMoney(playerid,dUserINT(PlayerName(playerid)).("money")+GetPlayerMoney(playerid));

    PLAYERLIST_authed[playerid]=true;
    return SystemMsg(playerid,"bank erfolgreich eingeloggt!");
    }
    // Bad Password
    tries[playerid]++;
    if(tries[playerid] == MAX_TRIES) {
    SystemMsg(playerid,"Falsches bank passwort!!");


    }
    else if (tries[playerid] == MAX_TRIES-1){
    SendClientMessage(playerid, COLOR_RED, "Falsches passwort!!!");//ouch..
    }
    return 0;
    }

    public OnPlayerCommandText(playerid,cmdtext[]) {
    dcmd(banklogin,5,cmdtext);
    dcmd(bankregister,8,cmdtext);


    return 0;
    }



    public OnPlayerConnect(playerid) {
    tries[playerid] = 0;
    PLAYERLIST_authed[playerid]=false;
    if (udb_Exists(PlayerName(playerid))) return SendClientMessage(playerid, COLOR_BLUE, "Wilkommen zurück,(/banklogin password)");
    return false;


    }
    public OnPlayerDisconnect(playerid) {
    if (PLAYERLIST_authed[playerid]) {
    // save
    dUserSetINT(PlayerName(playerid)).("Money",GetPlayerMoney(playerid));
    }
    PLAYERLIST_authed[playerid]=false;
    return false;
    }






    kan jemd helfen ??

    Sever ip : aremmers.no-ip.org


    !![GER]!!FuN_FrEeRoAm!!

  • Also weis nicht wie man das macht aber da fehlen doch die aktivierungen oder wenn man den befehl eingibtt? . sowas bsp. if(strcmp(Command, "/bankregister", true) == 0) weis aber nicht genau xD

    „Auge um Auge - und die ganze Welt wird blind sein.“
    - Mahatma Gandhi

  • Nein das ist Dcmd.. bin ich kein Freund von und kenn ich mich nicht aus damit, soll sich wer mit befassen der damit zu tun hat ;)

    Intel Xeon W3690 Hexacore @ 4.5 GHz - 48GB Triple Channel DDR3 - GeForce RTX 2070 Super - Asus P6T Deluxe V1 @ P6T WS Pro BIOS

    Mainboard 12 Jahre, CPU 10 Jahre alt - old but gold!


  • #include <a_samp>
    #include <dini>
    #include <dutils>
    #include <dudb>
    #define COLOR_GREEN 0xFFFFFFAA
    #define COLOR_RED 0xFFFFFFAA
    new logged[MAX_PLAYERS];
    new idx;



    public OnPlayerDisconnect(playerid)
    {
    if (logged[playerid] == 1) dUserSetINT(PlayerName(playerid)).("geld", GetPlayerMoney(playerid));
    logged[playerid] = 0;
    return 1;
    }



    public OnPlayerCommandText(playerid, cmdtext[])
    {


    if (strcmp(cmd, "/login", true) == 0)
    {
    if (logged[playerid] != 1 && udb_Exists(PlayerName(playerid)))
    {
    new dir[256];
    dir = strtok(cmdtext, idx);
    if (strlen(dir) && strcmp(dir, dUser(PlayerName(playerid)).("password"), true) == 0)
    {
    logged[playerid] = 1;
    SendClientMessage(playerid, COLOR_RED, "Erfolgreich eingeloggt! Dein Geld wurde geladen!");
    GivePlayerMoney(playerid, dUserINT(PlayerName(playerid)).("geld"));
    }
    }
    else SendClientMessage(playerid, COLOR_RED, "Es ist ein Fehler beim Einloggen aufgetreten!");
    return 1;
    }


    if (strcmp(cmd, "/register", true) == 0)
    {
    if (logged[playerid] != 1 && !udb_Exists(PlayerName(playerid)))
    {
    new dir[256];
    dir = strtok(cmdtext, idx);
    if (strlen(dir))
    {
    new fname[MAX_STRING];
    format(fname,sizeof(fname),"%s.dudb.sav",udb_encode(PlayerName(playerid)));
    dini_Create(fname);
    dUserSet(PlayerName(playerid)).("password", dir);
    SendClientMessage(playerid, COLOR_RED, "Erfolgreich registriert! Bitte logge dich nun mit /banklogin [Passwort] ein!");
    }
    }
    else SendClientMessage(playerid, COLOR_RED, "Es ist ein Fehler beim Registrieren aufgetreten!");
    return 1;
    }
    //----------------------
    return 0;
    }
    stock PlayerName(playerid) {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    return name;
    }




    C:\DOKUME~1\Marcel\Desktop\Sever\FILTER~1\KOPIEV~3.PWN(30) : error 017: undefined symbol "cmd"
    C:\DOKUME~1\Marcel\Desktop\Sever\FILTER~1\KOPIEV~3.PWN(48) : error 017: undefined symbol "cmd"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.







    und wie kann ich so CMD definieren das es geht (ich hatte schon definiert aber ging nicht!)

    Sever ip : aremmers.no-ip.org


    !![GER]!!FuN_FrEeRoAm!!

  • Ich empfehle dir echt mal Scripten zu lernen, deine Fragen betreffen hier meist nur grundlegende Dinge die man wissen sollte wenn man einen Gamemode scripten möchte.

    Intel Xeon W3690 Hexacore @ 4.5 GHz - 48GB Triple Channel DDR3 - GeForce RTX 2070 Super - Asus P6T Deluxe V1 @ P6T WS Pro BIOS

    Mainboard 12 Jahre, CPU 10 Jahre alt - old but gold!

  • public OnPlayerCommandText(playerid, cmdtext[]) {
    //folgende zeilen hinzufügen:
    new cmd[256]; //<-- diese hier
    new idx; //<-- diese hier


    cmd = strtok(cmdtext, idx); //<-- diese hier


    //hier geht dein bisherhiger code weiter
    if (strcmp(cmd, "/login", true) == 0)
    ....

    Intel Xeon W3690 Hexacore @ 4.5 GHz - 48GB Triple Channel DDR3 - GeForce RTX 2070 Super - Asus P6T Deluxe V1 @ P6T WS Pro BIOS

    Mainboard 12 Jahre, CPU 10 Jahre alt - old but gold!