4 Errors im Bank System

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 liebe Community,


    Ich habe gerade ein Banksystem in mein Script eingebaut und bekomme Folgende Errors



    ich finde aber den/die Fehler nicht und "SpielerName" verwende ich in einigen Befehlen daher verstehe ich auch nicht wieso es auf einmal zu Fehlern kommt
    ich hoffe ihr Könnt mir Helfen MfG: Wuppi


    Zeile 4595
    format(str,sizeof(str),"Sie haben %d$ auf das Konto von %s Überwiesen",strval(inputtext),SpielerName[pID]);


    Zeilen 4587-4599
    if(dialogid == Ueberweisung2)
    {
    new pID = Ueberweiser[playerid];
    new str[128],str2[128],str3[128];
    if(!response)return ShowPlayerDialog(playerid,Bankmenu,DIALOG_STYLE_LIST,"Transaktionen","Einzahlung\nAuszahlung\nKontostand\nÜberweisung","Wählen","Abbrechen");
    if(pInfo[playerid][Bank] < strval(inputtext))return SendClientMessage(playerid,0xC8C8C8FF,"Du hast nicht genug Geld auf dem Konto");
    pInfo[playerid][Bank] -= strval(inputtext);
    pInfo[pID][Bank] += strval(inputtext);
    format(str,sizeof(str),"Sie haben %d$ auf das Konto von %s Überwiesen",strval(inputtext),SpielerName[pID]);
    ShowPlayerDialog(playerid,UeberweisungText1,DIALOG_STYLE_MSGBOX,"Transaktion",str,"Beenden","");
    format(str2,sizeof(str2),"%s hat ihnen %d$ auf ihr Konto überwiesen",SpielerName[playerid],strval(inputtext));
    SendClientMessage(pID,0xC8C8C8FF,str2);
    }

  • stock SpielerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    return name;
    }
    Pack dir das mal irgendwo ins Skript ein :)


    //Edit


    Habs falsch verstanden, versuchs mal so.



    if(dialogid == Ueberweisung2)
    {
    new pID = Ueberweiser[playerid];
    new str[128],str2[128],str3[128];
    if(!response)return ShowPlayerDialog(playerid,Bankmenu,DIALOG_STYLE_LIST,"Transaktionen","Einzahlung\nAuszahlung\nKontostand\nÜberweisung","Wählen","Abbrechen");
    if(pInfo[playerid][Bank] < strval(inputtext))return SendClientMessage(playerid,0xC8C8C8FF,"Du hast nicht genug Geld auf dem Konto");
    pInfo[playerid][Bank] -= strval(inputtext);
    pInfo[pID][Bank] += strval(inputtext);
    format(str,sizeof(str),"Sie haben %d$ auf das Konto von %s Überwiesen",strval(inputtext),SpielerName[pID]));
    ShowPlayerDialog(playerid,UeberweisungText1,DIALOG_STYLE_MSGBOX,"Transaktion",str,"Beenden","");
    format(str2,sizeof(str2),"%s hat ihnen %d$ auf ihr Konto überwiesen",SpielerName[playerid],strval(inputtext));
    SendClientMessage(pID,0xC8C8C8FF,str2);
    }

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • Eddy: Das ist immernoch falsch. Der Fehler liegt am SpielerName-Array, welches nicht existiert. Und die Klammer die du hinzugefügt hast gehört da nicht hin. ;)



    if(dialogid == Ueberweisung2)
    {
    new pID = Ueberweiser[playerid];
    new str[128],str2[128],str3[128],sname[MAX_PLAYER_NAME],sname2[MAX_PLAYER_NAME];
    if(!response)return ShowPlayerDialog(playerid,Bankmenu,DIALOG_STYLE_LIST,"Transaktionen","Einzahlung\nAuszahlung\nKontostand\nÜberweisung","Wählen","Abbrechen");
    if(pInfo[playerid][Bank] < strval(inputtext))return SendClientMessage(playerid,0xC8C8C8FF,"Du hast nicht genug Geld auf dem Konto");
    pInfo[playerid][Bank] -= strval(inputtext);
    pInfo[pID][Bank] += strval(inputtext);
    GetPlayerName(playerid, sname, MAX_PLAYER_NAME);
    GetPlayerName(playerid, sname2, MAX_PLAYER_NAME);
    format(str,sizeof(str),"Sie haben %d$ auf das Konto von %s Überwiesen",strval(inputtext),sname2);
    ShowPlayerDialog(playerid,UeberweisungText1,DIALOG_STYLE_MSGBOX,"Transaktion",str,"Beenden","");
    format(str2,sizeof(str2),"%s hat ihnen %d$ auf ihr Konto überwiesen",sname,strval(inputtext));
    SendClientMessage(pID,0xC8C8C8FF,str2);
    }

  • Erstmal Danke Jeffry


    nun hat das soweit schonmal geklappt jetzt habe ich noch Laden und Speicher für die Bank eingefügt und bekomme wieder 2 Errors :/
    heute scheint echt nicht mein Tag zu sein


    Code
    D:\Desktop\sa-mp0.3z\pawno\MyLonky.pwn(4720) : error 036: empty statement
    D:\Desktop\sa-mp0.3z\pawno\MyLonky.pwn(4730) : error 036: empty statement
    
    
    Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    2 Errors.


    Zeile 4720
    if(!IsPlayerNPC(playerid));


    Zeile 4730
    if(!IsPlayerNPC(playerid));


    Zeilen 4716-4735
    stock SavePlayer(playerid)
    {
    new s[128],sname[MAX_PLAYER_NAME],sname2[MAX_PLAYER_NAME];
    format(s, sizeof(s), PLAYER_FOLDER,sname[playerid],sname2[playerid]);
    if(!IsPlayerNPC(playerid));
    {
    dini_IntSet(s,"Bank",pInfo[playerid][Bank]);
    }
    return 1;
    }
    stock LoadPlayer(playerid)
    {
    new s[128],sname[MAX_PLAYER_NAME],sname2[MAX_PLAYER_NAME];
    format(s, sizeof(s), PLAYER_FOLDER,sname[playerid],sname2[playerid]);
    if(!IsPlayerNPC(playerid));
    {
    pInfo[playerid][Bank] = dini_Int(s,"Bank");
    }
    return 1;
    }


    MfG: Wuppi

  • ahh genau xD
    Danke dir Nochmals werde dann mal die Bank Testen :3


    EDIT:
    das Speichern und Laden klappt leider nicht :/
    dazu nutze ich einmal die stock´s (Siehe Beitrag davor)
    und das


    public OnPlayerDisconnect(playerid, reason)
    {
    SpielerSpeichern(playerid);
    SavePlayer(playerid); //Speichern der Bank
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    ...
    SendClientMessage(playerid,Weiss,"===============================================================");
    LoadPlayer(playerid); //laden der Bank
    ... (... Simbolisiert nur das da noch einiges mehr kommt)


    #define PLAYER_FOLDER "/Bank/%s.ini"


    ist doch alles Richtig oder nicht?

  • wo muss das denn hin?


    SpielerSpeichern(playerid); Funktioniert ja immerhin auch ohne Probleme Oo


    Edit: Jeffry:
    Ja geht jetzt abe am ende das Speichern in die SpielerSpeichern(playerid); Funktion eingebaut (ja da war GetPlayerName auch drin xD) weil ich mir dann überlegt habe wieso ich es am ende 2x Speichern lasse und nicht einfach alles in eine Speicherung haue xD