Marco's Banksystem **V2 ink. ATMS und Ein/Ausgang**JETZT NEU MIT MYSQL**

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

  • Wenn man den ersten Post nicht ließt, ist es kein Wunder, denn du musst eine Zeile ausklammern ;)



    Marco: Ich würd dir vorschlagen, mach die Zeile mit dem MySQL standardmäßig ausgeklammert...

    Diese sind bei mir Ausgeklammert!

  • also mit Dini das abspeichern des Bankkontos funktioniert nicht ganz .
    Loggt man sich aus und dan wieder ein ist das Konto auf den Startbonus gestellt in diesem Fall 1000$
    Ich habe das MYSQL - System da raus gemacht kann es möglich sein das es daran liegt ?


    Ich poste mal wie es bei mir aussieht:

    #include <a_samp>
    #include <Dini>


    #define STARTBONUS 10000
    #define SPD ShowPlayerDialog
    #define SCM SendClientMessage
    #define IPC IsPlayerConnected
    #define COLOR_WHITE 0xFFFFFFAA
    #define DIALOG_BANK 10
    #define DIALOG_KEIN_KONTO 11
    #define DIALOG_KONTOSTAND 12
    #define DIALOG_PIN_ERSTELLEN 13
    #define DIALOG_PIN 14
    #define DIALOG_ABHEBEN 15
    #define DIALOG_EINZAHLEN 16
    #define DIALOG_FERTIG 18
    #define DIALOG_UEBERWEISUNG_BETRAG 19
    #define DIALOG_UEBERWEISEN_ID 20


    new Ueberweiser[MAX_PLAYERS] ={-1,...};
    new accFormat[128];


    forward IsAtATM(playerid);


    enum BankInfo
    {
    sHatKonto,
    sKonto,
    sBankPIN,
    }
    new Bank[MAX_PLAYERS][BankInfo];


    public OnFilterScriptInit()
    {
    //ATMs
    CreateObject(2942, 810.565063, -1623.768799, 13.189775, 0.0000, 0.0000, 90.0001);//1
    CreateObject(2942, 1000.825195, -922.610168, 41.971024, 0.0000, 0.0000, 277.8123);//2
    CreateObject(2942, 1504.693359, -1706.567749, 13.689775, 0.0000, 0.0000, 90.0000);//3
    CreateObject(2942, 1928.620850, -1771.269043, 13.189775, 0.0000, 0.0000, 90.0000);//4
    CreateObject(2942, 1036.071655, -1024.509766, 31.744461, 0.0000, 0.0000, 0.0000);//5
    CreateObject(2942, 926.909912, -1355.081421, 13.021199, 0.0000, 0.0000, 270.0000);//6
    CreateObject(2942, 491.439484, -1734.586548, 10.871187, 0.0000, 0.0000, 168.3452);//7
    CreateObject(2942, 380.780701, -2021.725830, 7.478837, 0.0000, 0.0000, 0.0000);//8
    CreateObject(2942, 1223.778320, -1744.292603, 13.240016, 0.0000, 0.0000, 193.3734);//9
    CreateObject(2942, 2105.436035, -1809.228516, 13.197587, 0.0000, 0.0000, 270.0000);//10
    CreateObject(2942, 2072.053955, -1836.951416, 13.197434, 0.0000, 0.0000, 90.0001);//11
    CreateObject(2942, 1956.735596, -2186.291016, 13.189775, 0.0000, 0.0000, 90.0000);//12
    CreateObject(2942, 2394.498047, -1914.865356, 13.189775, 0.0000, 0.0000, 0.0000);//13
    CreateObject(2942, 2779.040283, -1821.910034, 10.157268, 0.0000, 0.0000, 33.7500);//14
    CreateObject(2942, 1196.011841, -918.630188, 42.792793, 0.0000, 0.0000, 5.1566);//15
    print("\n--------------------------------------");
    print(" Marco's Banksystem loaded.");
    print("--------------------------------------\n");
    return 1;
    }


    public OnFilterScriptExit()
    {
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    BankSpeichern(i);
    }
    }
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    format(accFormat,sizeof accFormat,"Bank/%s.ini",Spielername(playerid));
    if(fexist(accFormat))
    {
    Bank[playerid][sHatKonto] = dini_Int(accFormat, "HatKonto");
    Bank[playerid][sKonto] = dini_Int(accFormat, "Konto");
    Bank[playerid][sBankPIN] = dini_Int(accFormat, "BankPIN");
    }
    else
    {
    dini_Create(accFormat);
    dini_IntSet(accFormat, "HatKonto", 0);
    dini_IntSet(accFormat, "Konto", 0);
    dini_IntSet(accFormat, "BankPIN", 0);
    }
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    BankSpeichern(playerid);
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new cmd[128], idx;
    cmd = strtok(cmdtext, idx);


    if(strcmp(cmd, "/bank", true) == 0)
    {
    if(IsPlayerConnected(playerid) == 1)
    {
    if(IsPlayerInRangeOfPoint(playerid,10.0,2315.952880,-1.618174,26.742187))
    {
    if(Bank[playerid][sHatKonto] == 1)
    {
    SPD(playerid,DIALOG_PIN,DIALOG_STYLE_PASSWORD,"Los Santos Bank","Bitte geben sie ihren PIN ein:","Bestätigen","Abbrechen");
    }
    else
    {
    SPD(playerid,DIALOG_KEIN_KONTO,DIALOG_STYLE_MSGBOX,"Los Santos Bank","{FFFFFF}Sie haben derzeit noch {CC0000}kein{FFFFFF} Konto.\n Möchten sie sich nun ein Konto erstellen ?","Ja","Abbrechen");
    }
    }
    else
    {
    return SCM(playerid,COLOR_WHITE,"Du bist nicht in der Bank.");
    }
    }
    return 1;
    }
    if(strcmp(cmd, "/automat", true) == 0)
    {
    if(IsPlayerConnected(playerid) == 1)
    {
    if(IsAtATM(playerid))
    {
    SPD(playerid,DIALOG_PIN,DIALOG_STYLE_PASSWORD,"Los Santos Bank","Bitte geben sie ihren PIN ein:","Bestätigen","Abbrechen");
    }
    else
    {
    return SCM(playerid,COLOR_WHITE,"Du bist an keinem Automaten.");
    }
    }
    return 1;
    }


    return 0;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == DIALOG_PIN)
    {
    if(response == 0)
    {
    return SCM(playerid, COLOR_WHITE,"Bank: Vielen Dank für ihren Besuch.");
    }
    if(response == 1)
    {
    if(strlen(inputtext) == 4)
    {
    format(accFormat,sizeof accFormat,"%d",Bank[playerid][sBankPIN]);
    if(strcmp(inputtext,accFormat) == 0)
    {
    SPD(playerid,DIALOG_BANK,DIALOG_STYLE_LIST,"Los Santos Bank","{FFFFFF}Kontostand\r\nAbheben\r\nEinzahlen\r\nÜberweisen\r\nEC-Karte beantragen","Weiter","Abbrechen");
    }
    else
    {
    SCM(playerid,COLOR_WHITE,"PIN-Code falsch.");
    }
    }
    else
    {
    SCM(playerid,COLOR_WHITE,"Der PIN-Code muss genau 4 Zahlen betragen.");
    }
    }
    }
    if(dialogid == DIALOG_KEIN_KONTO)
    {
    if(response == 0)
    {
    return SCM(playerid, COLOR_WHITE,"Bank: Vielen Dank für ihren Besuch.");
    }
    if(response == 1)
    {
    SPD(playerid, DIALOG_PIN_ERSTELLEN, DIALOG_STYLE_INPUT,"LS Bank - Konto erstellen","Bitte geben sie hier ihren gewünschten PIN ein.\n{CC0000}Diesen musst du dir merken !!!","Erstellen","Abbrechen");
    }
    }
    if(dialogid == DIALOG_PIN_ERSTELLEN)
    {
    if(response == 0)
    {
    return SCM(playerid, COLOR_WHITE,"Bank: Vielen Dank für ihren Besuch.");
    }
    if(response == 1)
    {
    if(strlen(inputtext) == 4)
    {
    if(isNumeric(inputtext))
    {
    new string[256];
    format(string,sizeof(string),"Ihr Konto wurde erstellt. Ihr PIN lautet: %d", strval(inputtext));
    SCM(playerid,COLOR_WHITE,string);
    Bank[playerid][sHatKonto] = 1;
    Bank[playerid][sKonto] = STARTBONUS;
    Bank[playerid][sBankPIN] = strval(inputtext);
    BankSpeichern(playerid);
    }
    else
    {
    SPD(playerid, DIALOG_PIN_ERSTELLEN, DIALOG_STYLE_INPUT,"LS Bank - Konto erstellen","Bitte geben sie hier ihren gewünschten PIN ein.\n{CC0000}Es MÜSSEN genau 4 Zahlen sein.!!!","Erstellen","Abbrechen");
    }
    }
    else
    {
    SPD(playerid, DIALOG_PIN_ERSTELLEN, DIALOG_STYLE_INPUT,"LS Bank - Konto erstellen","Bitte geben sie hier ihren gewünschten PIN ein.\n{CC0000}Es MÜSSEN genau 4 Zahlen sein.!!!","Erstellen","Abbrechen");
    }
    }
    }
    if(dialogid == DIALOG_BANK)
    {
    if(response == 0)
    {
    return SCM(playerid, COLOR_WHITE,"Bank: Vielen Dank für ihren Besuch.");
    }
    if(response == 1)
    {
    switch(listitem)
    {
    case 0://Kontostand
    {
    new string[128];
    format(string,sizeof(string),"Ihr Kontostand beträgt:\n%d$",Bank[playerid][sKonto]);
    SPD(playerid,DIALOG_KONTOSTAND,DIALOG_STYLE_MSGBOX,"LS Bank - Kontostand",string,"Ok","Zurück");
    }
    case 1://Abheben
    {
    SPD(playerid,DIALOG_ABHEBEN,DIALOG_STYLE_INPUT,"LS Bank - Geld abheben","Wieviel Geld möchten sie von ihrem Konto abheben ?","Abheben","Zurück");
    }
    case 2://Einzahlen
    {
    SPD(playerid,DIALOG_EINZAHLEN,DIALOG_STYLE_INPUT,"LS Bank - Geld einzahlen","Wieviel Geld möchten sie von ihrem Konto einzahlen ?","Einzahlen","Zurück");
    }
    case 3://Überweisen
    {
    SPD(playerid,DIALOG_UEBERWEISEN_ID,DIALOG_STYLE_INPUT,"LS Bank - Überweisung","An wen möchten sie das Geld überweisen ?","Weiter","Abbrechen");
    }
    }
    }
    }
    if(dialogid == DIALOG_ABHEBEN)
    {
    if(response == 0)
    {
    return SPD(playerid,DIALOG_BANK,DIALOG_STYLE_LIST,"Los Santos Bank","{FFFFFF}Kontostand\r\nAbheben\r\nEinzahlen\r\nÜberweisen\r\nEC-Karte beantragen","Weiter","Abbrechen");
    }
    if(response == 1)
    {
    if(isNumeric(inputtext))
    {
    new geld = Bank[playerid][sKonto];
    new summe = strval(inputtext);
    new string[128];
    if(geld <= strval(inputtext))
    {
    SCM(playerid,COLOR_WHITE,"Du hast nicht genügend Geld auf dem Konto.");
    }
    else
    {
    GivePlayerMoney(playerid, summe);
    Bank[playerid][sKonto] -= summe;
    format(string,sizeof(string),"Sie haben %d$ von ihrem Konto abgehoben.\nAktueller Kontostand: %d", summe, Bank[playerid][sKonto]);
    SPD(playerid,DIALOG_FERTIG,DIALOG_STYLE_MSGBOX,"LS Bank - Erfolgreich",string,"Ok","");
    }
    }
    else
    {
    return SCM(playerid,COLOR_WHITE,"Du musst Zahlen eingeben!");
    }
    }
    }
    if(dialogid == DIALOG_EINZAHLEN)
    {
    if(response == 0)
    {
    return SPD(playerid,DIALOG_BANK,DIALOG_STYLE_LIST,"Los Santos Bank","{FFFFFF}Kontostand\r\nAbheben\r\nEinzahlen\r\nÜberweisen\r\nEC-Karte beantragen","Weiter","Abbrechen");
    }
    if(response == 1)
    {
    if(isNumeric(inputtext))
    {
    new summe = strval(inputtext);
    new string[128];
    if(GetPlayerMoney(playerid) <= strval(inputtext))
    {
    SCM(playerid,COLOR_WHITE,"Du hast nicht genügend Geld in deiner Tasche.");
    }
    else
    {
    GivePlayerMoney(playerid, -summe);
    Bank[playerid][sKonto] += summe;
    format(string,sizeof(string),"Sie haben %d$ auf ihr Konto eingezahlt.\nAktueller Kontostand: %d", summe, Bank[playerid][sKonto]);
    SPD(playerid,DIALOG_FERTIG,DIALOG_STYLE_MSGBOX,"LS Bank - Erfolgreich",string,"Ok","");
    }
    }
    else
    {
    return SCM(playerid,COLOR_WHITE,"Du musst zahlen eingeben !");
    }
    }
    }
    if(dialogid == DIALOG_UEBERWEISEN_ID)
    {
    new pID;
    if(response == 0)
    {
    return SPD(playerid,DIALOG_BANK,DIALOG_STYLE_LIST,"Los Santos Bank","{FFFFFF}Kontostand\r\nAbheben\r\nEinzahlen\r\nÜberweisen\r\nEC-Karte beantragen","Weiter","Abbrechen");
    }
    if(response == 1)
    {
    if(sscanf(inputtext,"u",pID)) return SPD(playerid,DIALOG_UEBERWEISEN_ID,DIALOG_STYLE_INPUT,"LS Bank - Überweisung","An wen möchten sie das Geld überweisen ?\n{CC0000}Ungültiger Empfänger !1","Weiter","Abbrechen");
    if(!IsPlayerConnected(pID))
    {
    return SPD(playerid,DIALOG_UEBERWEISEN_ID,DIALOG_STYLE_INPUT,"LS Bank - Überweisung","An wen möchten sie das Geld überweisen ?\n{CC0000}Ungültiger Empfänger !2","Weiter","Abbrechen");
    }
    if(Bank[pID][sHatKonto] == 0)
    {
    return SCM(playerid, COLOR_WHITE,"Der Spieler hat kein Konto.");
    }
    if(pID == playerid)
    {
    return SPD(playerid,DIALOG_UEBERWEISEN_ID,DIALOG_STYLE_INPUT,"LS Bank - Überweisung","An wen möchten sie das Geld überweisen ?\n{CC0000}Ungültiger Empfänger !3","Weiter","Abbrechen");
    }
    SPD(playerid,DIALOG_UEBERWEISUNG_BETRAG,DIALOG_STYLE_INPUT,"LS Bank - Überweisung","Wieviel Geld möchten sie überweisen ?","Überweisen","Abbrechen");
    Ueberweiser[playerid] = pID;
    Ueberweiser[pID] = playerid;
    }
    }
    if(dialogid == DIALOG_UEBERWEISUNG_BETRAG)
    {
    new pID = Ueberweiser[playerid];
    new str[128],str2[128];
    if(response == 0)
    {
    return SPD(playerid,DIALOG_BANK,DIALOG_STYLE_LIST,"Los Santos Bank","{FFFFFF}Kontostand\r\nAbheben\r\nEinzahlen\r\nÜberweisen\r\nEC-Karte beantragen","Weiter","Abbrechen");
    }
    if(response == 1)
    {
    if(Bank[playerid][sKonto] < strval(inputtext))
    {
    return SendClientMessage(playerid,0xC8C8C8FF,"Du hast nicht genug Geld auf dem Konto!");
    }
    Bank[playerid][sKonto] -= strval(inputtext); //Geld wird vom Konto abgezogen
    Bank[pID][sKonto] += strval(inputtext); //und hier auf das Konto des Anderen addiert.
    format(str,sizeof(str),"Sie haben %d$ auf das Konto von %s überwiesen",strval(inputtext),Spielername(pID));
    ShowPlayerDialog(playerid,DIALOG_FERTIG,DIALOG_STYLE_MSGBOX,"LS Bank - Erfolgreich",str,"Schließen","");
    format(str2,sizeof(str2),"%s hat ihnen %d$ auf ihr Konto überwiesen",Spielername(playerid),strval(inputtext));
    SendClientMessage(pID,0xC8C8C8FF,str2);
    }
    }
    return 1;
    }


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    return 1;
    }


    public IsAtATM(playerid)
    {
    if(IsPlayerInRangeOfPoint(playerid, 2.0, 1505.3571,-1706.5531,14.0469) || IsPlayerInRangeOfPoint(playerid, 2.0, 1223.6383,-1743.6448,13.5971))
    {
    return 1;
    }
    else if (IsPlayerInRangeOfPoint(playerid, 2.0, 491.4543,-1733.9115,11.2632) || IsPlayerInRangeOfPoint(playerid, 2.0, 380.7548,-2022.3887,7.8359))
    {
    return 1;
    }
    else if (IsPlayerInRangeOfPoint(playerid, 2.0, 1000.1720,-922.7279,42.3281) || IsPlayerInRangeOfPoint(playerid, 2.0, 1196.0596,-919.2913,43.1502))
    {
    return 1;
    }
    else if (IsPlayerInRangeOfPoint(playerid, 2.0, 1036.0769,-1025.1725,32.1016) || IsPlayerInRangeOfPoint(playerid, 2.0, 926.2456,-1355.0319,13.3783))
    {
    return 1;
    }
    else if (IsPlayerInRangeOfPoint(playerid, 2.0, 811.2282,-1623.7705,13.5547) || IsPlayerInRangeOfPoint(playerid, 2.0, 1929.2842,-1771.2465,13.5469))
    {
    return 1;
    }
    else if (IsPlayerInRangeOfPoint(playerid, 2.0, 2104.7717,-1809.2222,13.5547) || IsPlayerInRangeOfPoint(playerid, 2.0, 2072.7190,-1836.9708,13.5545))
    {
    return 1;
    }
    else if (IsPlayerInRangeOfPoint(playerid, 2.0, 1957.3990,-2186.2932,13.5469) || IsPlayerInRangeOfPoint(playerid, 2.0, 2779.4229,-1822.4525,10.2743))
    {
    return 1;
    }
    else if (IsPlayerInRangeOfPoint(playerid, 2.0, 2394.5190,-1915.5287,13.5469))
    {
    return 1;
    }
    return 0;
    }


    stock Spielername(playerid)
    {
    new NoName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,NoName,sizeof NoName);
    return NoName;
    }


    strtok(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }


    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }


    stock sscanf(string[], format[], {Float,_}:...)
    {
    #if defined isnull
    if (isnull(string))
    #else
    if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
    #endif
    {
    return format[0];
    }
    #pragma tabsize 4
    new
    formatPos = 0,
    stringPos = 0,
    paramPos = 2,
    paramCount = numargs(),
    delim = ' ';
    while (string[stringPos] && string[stringPos] <= ' ')
    {
    stringPos++;
    }
    while (paramPos < paramCount && string[stringPos])
    {
    switch (format[formatPos++])
    {
    case '\0':
    {
    return 0;
    }
    case 'i', 'd':
    {
    new
    neg = 1,
    num = 0,
    ch = string[stringPos];
    if (ch == '-')
    {
    neg = -1;
    ch = string[++stringPos];
    }
    do
    {
    stringPos++;
    if ('0' <= ch <= '9')
    {
    num = (num * 10) + (ch - '0');
    }
    else
    {
    return -1;
    }
    }
    while ((ch = string[stringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num * neg);
    }
    case 'h', 'x':
    {
    new
    num = 0,
    ch = string[stringPos];
    do
    {
    stringPos++;
    switch (ch)
    {
    case 'x', 'X':
    {
    num = 0;
    continue;
    }
    case '0' .. '9':
    {
    num = (num << 4) | (ch - '0');
    }
    case 'a' .. 'f':
    {
    num = (num << 4) | (ch - ('a' - 10));
    }
    case 'A' .. 'F':
    {
    num = (num << 4) | (ch - ('A' - 10));
    }
    default:
    {
    return -1;
    }
    }
    }
    while ((ch = string[stringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num);
    }
    case 'c':
    {
    setarg(paramPos, 0, string[stringPos++]);
    }
    case 'f':
    {


    new changestr[16], changepos = 0, strpos = stringPos;
    while(changepos < 16 && string[strpos] && string[strpos] != delim)
    {
    changestr[changepos++] = string[strpos++];
    }
    changestr[changepos] = '\0';
    setarg(paramPos,0,_:floatstr(changestr));
    }
    case 'p':
    {
    delim = format[formatPos++];
    continue;
    }
    case '\'':
    {
    new
    end = formatPos - 1,
    ch;
    while ((ch = format[++end]) && ch != '\'') {}
    if (!ch)
    {
    return -1;
    }
    format[end] = '\0';
    if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
    {
    if (format[end + 1])
    {
    return -1;
    }
    return 0;
    }
    format[end] = '\'';
    stringPos = ch + (end - formatPos);
    formatPos = end + 1;
    }
    case 'u':
    {
    new
    end = stringPos - 1,
    id = 0,
    bool:num = true,
    ch;
    while ((ch = string[++end]) && ch != delim)
    {
    if (num)
    {
    if ('0' <= ch <= '9')
    {
    id = (id * 10) + (ch - '0');
    }
    else
    {
    num = false;
    }
    }
    }
    if (num && IsPlayerConnected(id))
    {
    setarg(paramPos, 0, id);
    }
    else
    {
    #if !defined foreach
    #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
    #define __SSCANF_FOREACH__
    #endif
    string[end] = '\0';
    num = false;
    new
    name[MAX_PLAYER_NAME];
    id = end - stringPos;
    foreach (Player, playerid)
    {
    GetPlayerName(playerid, name, sizeof (name));
    if (!strcmp(name, string[stringPos], true, id))
    {
    setarg(paramPos, 0, playerid);
    num = true;
    break;
    }
    }
    if (!num)
    {
    setarg(paramPos, 0, INVALID_PLAYER_ID);
    }
    string[end] = ch;
    #if defined __SSCANF_FOREACH__
    #undef foreach
    #undef __SSCANF_FOREACH__
    #endif
    }
    stringPos = end;
    }
    case 's', 'z':
    {
    new
    i = 0,
    ch;
    if (format[formatPos])
    {
    while ((ch = string[stringPos++]) && ch != delim)
    {
    setarg(paramPos, i++, ch);
    }
    if (!i)
    {
    return -1;
    }
    }
    else
    {
    while ((ch = string[stringPos++]))
    {
    setarg(paramPos, i++, ch);
    }
    }
    stringPos--;
    setarg(paramPos, i, '\0');
    }
    default:
    {
    continue;
    }
    }
    while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
    {
    stringPos++;
    }
    while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
    {
    stringPos++;
    }
    paramPos++;
    }
    do
    {
    if ((delim = format[formatPos++]) > ' ')
    {
    if (delim == '\'')
    {
    while ((delim = format[formatPos++]) && delim != '\'') {}
    }
    else if (delim != 'z')
    {
    return delim;
    }
    }
    }
    while (delim > ' ');
    return 0;
    }


    stock isNumeric(const string[])
    {
    new length=strlen(string);
    if (length==0) return false;
    for (new i = 0; i < length; i++) {
    if (
    (string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+') // Not a number,'+' or '-'
    || (string[i]=='-' && i!=0) // A '-' but not at first.
    || (string[i]=='+' && i!=0) // A '+' but not at first.
    ) return false;
    }
    if (length==1 && (string[0]=='-' || string[0]=='+')) return false;
    return true;
    }


    BankSpeichern(playerid)
    {
    if(fexist(accFormat))
    {
    dini_IntSet(accFormat,"HatKonto",Bank[playerid][sHatKonto]);
    dini_IntSet(accFormat,"Konto",Bank[playerid][sKonto]);
    dini_IntSet(accFormat,"BankPIN",Bank[playerid][sBankPIN]);
    }
    }



    ich habe das EC - Karten System und das MYSQL System rausgenommen und es Speiert mir nict mehr ab
    liegt es daran das ich es rausgenommen habe ?

  • An die bei dennen es nicht speichert ändert das BankSpeichern(playerid) in das um:



    BankSpeichern(playerid)
    {
    #if defined MySQLUSE
    format(accFormat,sizeof accFormat,"UPDATE `Bank` SET `HatKonto`='%d',`Konto`='%d',`BankPIN`='%d',`ECKarte`='%d' WHERE `Spielername`='%s'",
    Bank[playerid][sHatKonto],
    Bank[playerid][sKonto],
    Bank[playerid][sBankPIN],
    Bank[playerid][sECKarte],
    Spielername(playerid));
    mysql_query(accFormat);
    #else
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(accFormat, sizeof(accFormat), "/Bank/%s.ini", name);
    if(fexist(accFormat))
    {
    dini_IntSet(accFormat,"HatKonto",Bank[playerid][sHatKonto]);
    dini_IntSet(accFormat,"Konto",Bank[playerid][sKonto]);
    dini_IntSet(accFormat,"BankPIN",Bank[playerid][sBankPIN]);
    dini_IntSet(accFormat,"ECKarte",Bank[playerid][sECKarte]);
    }
    #endif
    }

  • Ich bekomm diese errrors hilfe
    :C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(150) : warning 217: loose indentation
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(167) : warning 217: loose indentation
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(183) : warning 217: loose indentation
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(193) : warning 217: loose indentation
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(198) : warning 217: loose indentation
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(205) : warning 217: loose indentation
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(215) : warning 217: loose indentation
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(227) : warning 217: loose indentation
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(241) : warning 217: loose indentation
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(244) : warning 217: loose indentation
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(261) : warning 217: loose indentation
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(266) : warning 217: loose indentation
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(287) : warning 217: loose indentation
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(305) : warning 217: loose indentation
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(337) : warning 217: loose indentation
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(357) : warning 217: loose indentation
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(368) : warning 217: loose indentation
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(375) : warning 217: loose indentation
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(399) : warning 217: loose indentation
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(405) : warning 217: loose indentation
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(481) : warning 217: loose indentation
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(538) : error 021: symbol already defined: "strtok"
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(553) : error 047: array sizes do not match, or destination array is too small
    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(806) : error 021: symbol already defined: "isNumeric"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Errors.

    :D


  • Die loseidentation bedeuten nur das die zeilen falsch eingerückt sind kannste ignorieren oder wenn du es ordentlich haben willst richtig einrücken.


    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(538 ) : error 021: symbol already defined: "strtok"
    Hier hast du stock falsch geschrieben.


    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(553) :
    error 047: array sizes do not match, or destination array is too small
    Übersetzt es dir ins deutsche und du wirrdt den fehler finden. ;)


    C:\Users\Paul\Desktop\Reallife Server\filterscripts\Bank.pwn(806) : error 021: symbol already defined: "isNumeric"
    schaumal hier ob das der stock aus dem anderem error ist oder so ;)


    /kleine berichtigung

  • aber wenn ich jez strtok durch stock ersetze kackt der compiler ab ^^