/stats Fehler

  • /stats Fehler

    Ich habe eine Problem, ich möchte gerne das in einem bestimmten Abstand alle Spieler gespeichert werden.
    Doch geht dies leider nicht so richtig bis jetzt habe ich das:

    [pwn]
    forward SaveAccounts();

    SetTimer("SaveAccounts",1000,1); // 1Minute

    public SaveAccounts()
    {
    SavePlayer(playerid);
    }
    [/pwn]

    Bekomme aber diesen Error :
    [pwn]
    error 017: undefined symbol "playerid"
    [/pwn]

    Ich hoffe ihr könnt mir helfen, bis jetzt habe ich es nur so wenn eine Spieler stirbt und wenn eine spieler den Server verlässt/betritt gespeichert wird.

    MFG

    xTh0rben

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von xTh0rben ()

  • John_Jones schrieb:

    public SaveAccounts() { for(new i = 0; i < MAX_PLAYERS; i++) { SpielerSpeichern(i); } }


    Danke für die schnelle Antwort.
    Funktioniert alles Super doch ich habe noch eine Problem mit meiner Fahrschule.

    Ich möchte abfragen ob der Spieler schon einen Schein hat oder nicht doch das will nicht so ganz klappen.

    [pwn]
    if (SpielerInfo[playerid][pCarLiz]== 0) return SendClientMessage(playerid,COLOR_RED,"{FF0000}Du hast schon einen {FFFFFF}Autoführerschein{FF0000}!");
    SendClientMessage(playerid,COLOR_RED,"{FF0000}============{FFFFFF}AUTOSCHEIN{FF0000}============");
    SendClientMessage(playerid,COLOR_YELLOW,"Es beginnt nun die Fahrstunde.");
    SendClientMessage(playerid,COLOR_YELLOW,"Bitte begebe dich zum Checkpoint!");
    SendClientMessage(playerid,COLOR_RED,"{FF0000}============{FFFFFF}AUTOSCHEIN{FF0000}============");
    return 1;
    [/pwn]

    Doch ich bekomme immer die Nachricht als ob ich keinen Schein hätte habe aber eine "1" bei mir in die Datenbank geschrieben :(
  • if (SpielerInfo[playerid][pCarLiz] == 0)
    {
    SendClientMessage(playerid,COLOR_RED,"{FF0000}Du hast schon einen {FFFFFF}Autoführerschein{FF0000}!");
    }
    if (SpielerInfo[playerid][pCarLiz] == 1)
    {

    SendClientMessage(playerid,COLOR_RED,"{FF0000}============{FFFFFF}AUTOSCHEIN{FF0000}============");
    SendClientMessage(playerid,COLOR_YELLOW,"Es beginnt nun die Fahrstunde.");
    SendClientMessage(playerid,COLOR_YELLOW,"Bitte begebe dich zum Checkpoint!");
    SendClientMessage(playerid,COLOR_RED,"{FF0000}============{FFFFFF}AUTOSCHEIN{FF0000}============");

    }

    Probiers mal sooo
  • Eigentlich habe ich es ja in einem Dialog aber zu testen dann mal in einen Befehle gemacht :

    [pwn]
    if(strcmp(cmdtext, "/autoschein"))
    if (SpielerInfo[playerid][pCarLiz] == 0)
    {
    SendClientMessage(playerid,COLOR_RED,"{FF0000}Du hast schon einen {FFFFFF}Autoführerschein{FF0000}!");
    return 1;
    }
    if (SpielerInfo[playerid][pCarLiz] == 1)
    {
    SendClientMessage(playerid,COLOR_RED,"{FF0000}============{FFFFFF}AUTOSCHEIN{FF0000}============");
    SendClientMessage(playerid,COLOR_YELLOW,"Es beginnt nun die Fahrstunde.");
    SendClientMessage(playerid,COLOR_YELLOW,"Bitte begebe dich zum Checkpoint!");
    SendClientMessage(playerid,COLOR_RED,"{FF0000}============{FFFFFF}AUTOSCHEIN{FF0000}============");
    }
    [/pwn]

    Und CarLiz habe ich noch hier:

    Load:
    [pwn]
    SpielerInfo[playerid][pCarLiz] = mysql_GetInt("accounts", "lizenz", "name", SpielerInfo[playerid][pName]);
    [/pwn]

    Save:
    [pwn]
    mysql_SetInt("accounts", "lizenz", SpielerInfo[playerid][pCarLiz], "name", SpielerInfo[playerid][pName]);
    [/pwn]
  • [pwn]
    if(strcmp(cmdtext, "/autoschein"))
    {
    if (SpielerInfo[playerid][pCarLiz] == 0)
    {
    SendClientMessage(playerid,COLOR_RED,"{FF0000}Du hast schon einen {FFFFFF}Autoführerschein{FF0000}!");
    }
    if (SpielerInfo[playerid][pCarLiz] == 1)
    {
    SendClientMessage(playerid,COLOR_RED,"{FF0000}============{FFFFFF}AUTOSCHEIN{FF0000}============");
    SendClientMessage(playerid,COLOR_YELLOW,"Es beginnt nun die Fahrstunde.");
    SendClientMessage(playerid,COLOR_YELLOW,"Bitte begebe dich zum Checkpoint!");
    SendClientMessage(playerid,COLOR_RED,"{FF0000}============{FFFFFF}AUTOSCHEIN{FF0000}============");
    }
    return 1; // Hier ein "return 1;" hin, das dann für sowohl 1, als auch 0 bei "pCarLiz" gilt.
    //Vorhin kam das unknow, wenn Lizens = 1, da da kein return vorhanden war.
    }

    [/pwn]

    Gruß,
    Dennis
  • Danke funktioniert nun alle doch habe schon wieder ein Problem:

    Mein /stats Befehl:

    [pwn]
    if (strcmp("/stats", cmdtext, true, 10) == 0)
    {
    new autoscheintext[20];
    if(SpielerInfo[playerid][pCarLiz] == 0) { autoscheintext = "Nein"; }
    else if(SpielerInfo[playerid][pCarLiz] == 1) { autoscheintext = "Ja";}

    new name[MAX_PLAYER_NAME];
    new string[828];
    GetPlayerName(playerid, name, sizeof(name));
    format(string,sizeof(string),"Hier wird dir deine Statistik angezeigt!\n{437FCC}Spieler Name{FFFFFF}: [%s],\n\n{009700}Level{FFFFFF}: [%d]\n\n{0000BC}Bargeld{FFFFFF}: [%d]\n\n{910000}Adminlevel{FFFFFF}: [%d]\n\n{437FCC}Fraktion{FFFFFF}: [%d]\n\n{009700}Autoschein{FFFFFF}: [%d]",name,GetPlayerScore(playerid),GetPlayerMoney(playerid),SpielerInfo[playerid][pAdmin],SpielerInfo[playerid][pFraktion],autoscheintext);
    ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"{FFFFFF}Statistik von dir",string,"Beenden","");
    SavePlayer(playerid);
    return 1;
    }
    [/pwn]

    Wenn ich nun /stats ein gebe steht bei Autoschein nicht "Nein" oder "Ja" sondern "78".

    Was habe ich falsch gemacht.